我需要清理这张照片,删除“清理我”的字样并使其变亮。
作为图像处理课程作业的一部分,我可能会使用 matlab 函数 ginput 来查找图像中的特定点(当然,在脚本中您应该对所需的坐标进行硬编码)。
您可以使用 conv2、fft2、ifft2、fftshift 等。
您还可以使用中位数、平均值、最大值、最小值、排序等。
我的基本想法是使用图片中间的白色和黑色值并将它们插入黑白条的其他部分。然而,这给图片带来了非常合成的外观。
你能告诉我该怎么做吗?中值滤波器不会给出好的结果。
做这种事情的一般技术称为修复 http://en.wikipedia.org/wiki/Inpainting。但为了做到这一点,您需要对要绘制的区域进行遮罩。因此,让我们假设我们设法获得了一个好的蒙版,并考虑到该蒙版的形态膨胀来修复原始图像:
为了得到那个面具,我们不需要任何花哨的东西。首先对原始图像与其中值滤波结果之间的差异进行二值化:
您可以删除孤立的像素;通过水平膨胀的组合,然后再用小方块进行另一个膨胀,将代表旗帜星星的像素连接起来;删除刚刚创建的最大组件;然后将迄今为止的结果与初始蒙版进行测地线膨胀。这给出了上面的良好掩模。
现在修复有很多算法,但我发现的最简单的算法之一描述于快速数字图像修复 http://elynxsdk.free.fr/ext-docs/Inpainting/todo/Fast_Digital_Image_Inpainting.pdf,这应该很容易实现。我没有使用它,但您可以验证可以获得哪些结果。
编辑:我错过了你也想使图像变亮。
使图像变亮的一种简单方法是应用伽马系数
如果你确实想让图像变亮,那么你可以应用双边滤波器并将其二值化:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)