图像修复,指对受到损坏的图像进行修复重建或者去除图像中的多余物体。
去除文字,是图像修复的一种应用。
提出一个问题:
给定一张自然图像,该图像上已经写了一些文字(模拟图像遭到了破坏),则如何去掉文字,使得图像恢复原来的面目?
针对上述问题,本文提供两种思路:
方法一:先用阈值法提取图像中文字,然后用图像减法。即:
修复图 = 原图像 – 提取的文字图。
具体描述请看:http://blog.csdn.net/learn_sunzhuli/article/details/47791273
方法二:先用阈值法提取图像中文字,然后用OPENCV中inpaint()函数对图像修复。
调用inpaint()函数一个关键的点:确定修复掩膜。
修复掩膜只能为8位单通道的图像,其中非零像素表示需要修补的区域。
所以,用阈值法提取的文字图像作为修复掩膜。虽然阈值法的处理结果可能会导致一些误检点或者误检区域,但这些误检都在可容忍的错误范围之内。而且可用形态学方法中膨胀操作对阈值法提取的结果进行膨胀,膨胀操作的结果再作为修复掩膜。
对于本文给出的图像,用方法二的效果更好。效果图如下:
该方法具体实现代码如下,且在vs2010测试通过。