问题描述
我有这样的图像input image在其上我试图应用文本检测和OCR, 然而,即使经过预处理(二进制阈值等)pytesseract不返回任何输出。文本检测的目的是提高OCR输出,我不是太在意获得边界框。
这是我的代码如下:
image = cv2.imread('image.jpg')
grey = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
ret,thresh1 = cv2.threshold(grey,127,255,cv2.THRESH_BINARY)
image = pytesseract.image_to_data(thresh1,output_type=Output.DICT)
image = cv2.bitwise_not(image)
检查的结果是没有的,以无意义的输出,反正是有改善此?
解决方法
试试这个代码:
import pytesseract
import cv2
image = cv2.imread('ccl6t.png')
pytesseract.pytesseract.tesseract_cmd = r'k:\Tesseract\tesseract.exe' #need change!
grey = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
ret,thresh1 = cv2.threshold(grey,127,255,cv2.THRESH_BINARY_INV)
cv2.imwrite('tresh.png',thresh1)
words = pytesseract.image_to_data(thresh1,lang='eng',config='--psm 3 --oem 1 ')
print(str(words))