dev*_*per 0 ocr opencv python-3.x spyder python-tesseract
我使用 Pytesseract 和 openCV 从图像中读取文本。我使用中值模糊、归一化和阈值来去除背景并能够阅读文本。
但是,在标准化过程中,文本的某些部分变得太亮,我希望将它们变暗,以便它们与图像中剩余文本的暗度/强度相匹配。我尝试了形态变换,并尝试了 canny+erosion 来消除噪音,但这些都没有帮助。
我的输入如下所示:
在这里,“代码”,“部门名称”,“15”和“机械”较轻,我无法阅读,而我可以轻松阅读“空气分配”和“基本材料和方法”。
有关如何更改较浅文本颜色的任何帮助都会非常有帮助。
您可以更改阈值,然后在黑底白字图像中应用侵蚀。
import cv2
import numpy as np
image = cv2.imread("1.png")
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
blur = cv2.blur(gray,(3,3))
_,thresh = cv2.threshold(blur,240,255,cv2.THRESH_BINARY)
cv2.imshow("thresh",thresh)
thresh = cv2.bitwise_not(thresh)
element = cv2.getStructuringElement(shape=cv2.MORPH_RECT, ksize=(5, 5))
erode = cv2.erode(thresh,element,3)
cv2.imshow("erode",erode)
cv2.imshow("img",image)
cv2.waitKey(0)
cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1964 次 |
| 最近记录: |