去除opencv中的背景使文字更清晰

pat*_*ick 6 opencv image-processing opencv4android

我正在尝试创建一个可以从图像中读取文本的应用程序。但是我在清除背景时遇到了问题。我想要这样的结果:

输入图像 1 : 在此处输入图片说明

输出图像 1 : 在此处输入图片说明

这是我试过的代码:

cvtColor(org, tmp, CV_BGR2GRAY); 
normalize(tmp, tmp, 0, 255, NORM_MINMAX); 
threshold(tmp, dst, 0, 255, CV_THRESH_OTSU);
Run Code Online (Sandbox Code Playgroud)

小智 0

您感兴趣的线的方向为 0 度或 90 度,在任一方向上都有很小的变化。背景图案中的线条是倾斜的。您可以使用 canny 算法识别线条,然后检查方向。根据字体的不同,垂直线和水平线相交处会留下一些间隙。然后返回原始图像并使用基于颜色的分水岭,或使用连接的组件,或其他避免丢失这些连接区域的方法。