2017-05-21 9 views
0

web2py 앱을 만들고 있습니다. 컨트롤러 폴더에서 파이썬 함수를 호출 할 수있는 버튼을 default.py에두고 텍스트 결과를 표시하고 싶습니다.web2py에서 버튼을 통해 callpython 기능을 사용하는 방법은 무엇입니까?

src_path = 
"/home/globalstat/web2py/applications/image_resize/controllers/" 


def get_string(img_path): 

    # Read image with opencv 
    img_0 = cv2.imread(img_path) 


    # Convert to gray 
    img = cv2.cvtColor(img_0, cv2.COLOR_BGR2GRAY) 

    # thresh = 127 
    # im_bw = cv2.threshold(img, thresh, 255, cv2.THRESH_BINARY)[1] 
    # cv2.imwrite('bw_image.png', im_bw) 


    # Apply threshold to get image with only black and white 
    #img = cv2.adaptiveThreshold(img, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, v2.THRESH_BINARY, 11, 2) 

    # Write the image after apply opencv to do some ... 
    #cv2.imwrite(src_path + "thres.png", img) 
    # Apply dilation and erosion to remove some noise 
    kernel = np.ones((1, 1), np.uint8) 
    img = cv2.dilate(img, kernel, iterations=1) 
    img = cv2.erode(img, kernel, iterations=1) 

    cv2.imwrite(src_path + "removednoise.jpg", img) 

    # Apply threshold to get image with only gray scaled 
    img = cv2.adaptiveThreshold(img, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, 11, 2) 


    cv2.imwrite(src_path + "thres.jpg", img) 


    # Recognize text with tesseract for python 
    #img_ref=Image.open(src_path + "removednoise.jpg") 
    img_ref=Image.open(src_path + "thres.jpg") 

    img_ref.save("test-600.png",doing=(600,600)) 

    result = pytesseract.image_to_string(img_ref) 


    return result 

및 버튼 내가보기 파일에 사용하고 코드는 다음과 같습니다 :

기능은이 결과를 표시 있도록

<Button type="button" name ="seeting_button" onclick = 
'window.location="{{=URL('default', 'get_string',)}}";'> 

어떻게 인수를 전달할 수 있습니까?

답변

0

시도 web2py에 의해 무시되는 컨트롤러 파일 내의 매개 변수

def get_string(): 
    img_path = request.args[0] 
    img_0 = cv2.imread(img_path) 

모든 함수에

def get_string(img_path): 
    img_0 = cv2.imread(img_path) 

을 변경. 인수는 request.args

을 통해 전달됩니다.