我想处理不同类型的图像以从嘈杂的图像中提取实际文本。我正在使用 open cv 来完成这项工作,它工作正常,但问题是我需要设置不同的下限阈值才能将嘈杂的图像转换为可读文本。是是否可以设置单个阈值,通过进行一些预处理来消除所有图像中的噪声?
主要目标:我正在尝试删除那条波浪状的水平线并使字符清晰易读
使用的代码:
import cv2
# Load an color image in grayscale
img = cv2.imread('it_captcha3.jpg',0)
ret, thresh_img = cv2.threshold(img, 180, 255, cv2.THRESH_BINARY_INV)
cv2.imshow('grey image',thresh_img)
cv2.imwrite("result11.jpg", thresh_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
验证码1:
处理后的图像:使用的阈值 -> 低:180 高 ->255,
验证码:2
处理后的图像:使用的阈值 -> 低:200 高 ->255
验证码:3
已处理:低 -> 165 高:255