我想预处理扫描的图像以对其进行一些OCR。我的问题是当我应用一个给定的阈值来消除噪音时,粗体文字会变得清晰,但文本的其余部分会消失。
CvInvoke.cvThreshold(img, img, 80, 255, THRESH.CV_THRESH_BINARY);
CvInvoke.cvThreshold(img, img, 120, 255, THRESH.CV_THRESH_BINARY);
我问是否有办法根据文字形式应用不同的阈值?
答案 0 :(得分:1)
正如有人建议的那样。我认为你宁愿均衡你的形象,只是为了提取边框。
我会首先反转颜色,然后使用EqualizeHist,它可以让你的文字更暗,并使背景变亮。
之后,您想要提取边缘。我会在两个阈值之间保持2:1或3:1的比例时应用Canny,然后相应地增加/减少它们,直到我看起来很好。