我正在尝试创建一个可以从图像中读取文本的应用程序。但我在清除背景时遇到问题。我想要这样的结果:
输入图像 1:
输出图像 1:
这是我试过的代码:
cvtColor(org, tmp, CV_BGR2GRAY);
normalize(tmp, tmp, 0, 255, NORM_MINMAX);
threshold(tmp, dst, 0, 255, CV_THRESH_OTSU);
最佳答案
您感兴趣的线的方向为 0 度或 90 度,在任一方向上都有很小的差异。背景图案中的线条是倾斜的。您可以使用精明的算法识别线条,然后检查方向。根据字体的不同,您会在垂直线和水平线相交的地方留下一些空隙。然后返回到原始图像并使用基于颜色的分水岭,或使用连接的组件,或任何避免丢失这些连接区域的方法。
关于opencv - 去除opencv中的背景,让文字更清晰,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29249090/