【发布时间】:2021-08-23 10:14:43
【问题描述】:
我很难从上面的这张图片中提取文本 CHUBB。我尝试了几种图像预处理技术并使用 pytesseract 提取但没有成功。
我的输出:'\x0c'
预期输出:'CHUBB'
任何帮助将不胜感激
我的尝试:
import pytesseract
img = cv2.imread('image1_1.png')
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
thresh1 = cv2.adaptiveThreshold(img, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C,
cv2.THRESH_BINARY, 199, 5)
cv2.imshow('Adaptive Mean', thresh1)
# De-allocate any associated memory usage
if cv2.waitKey(0) & 0xff == 27:
cv2.destroyAllWindows()
# Adding custom options
custom_config = r' --psm 3'
pytesseract.image_to_string(thresh1, config=custom_config)```
【问题讨论】:
-
尝试 otsu 阈值而不是自适应阈值。
-
我确实试过没有成功:
-
cv2.threshold(img, 120, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)
-
cv2.threshold(img, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU) -
你的大津阈值图像是什么样的?请出示。您是否尝试在字母上方的顶部添加一些白色填充,以使它们不接触顶部。也许这是一个问题?见 cv2.copyMakeBorder() 添加填充。
标签: python opencv image-processing ocr python-tesseract