我正在使用Python的opencv来清理图像,使之可读取tesseract。我有一个黑白图像,经过自适应阈值处理后,它看起来不够好。有很多纸张噪音,字母不那么干净。我该如何解决它?二进制后创建可读的词
adaptiveThreshold方法:
源cv2.adaptiveThreshold(img, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, 11, 2)
:
adaptiveThreshold后:
还我试图腐蚀和膨胀:
个kernel = np.ones((2,2), np.uint8)
e = cv2.erode(roi_sharpen, kernel, iterations=1))
d = cv2.dilate(roi_sharpen, kernel, iterations=1))
结果:
您可以在二值化之前或之后应用噪声过滤(例如高斯滤波器)。您也可以使用边缘检测滤镜(例如Canny)而不是自适应阈值来提取边缘。 –
我试过了。但更糟的是:/ –
errode和dilate的组合可能会诀窍 –