2011-09-03 52 views
6

我做的,我会用遗传算法来优化一组将用于锐化图像过滤器和参数的项目。 我目前正在阅读Gonzalez的“数字图像处理”一书,并正在研究任何有关图像处理的内容,因为我对这个领域有点新鲜。图像锐化方法

我正在寻找锐化方法的列表...即不锐化蒙版,高通滤波器,拉普拉斯锐化等。如果您熟悉图像处理,是否有任何滤镜可以用于锐化图像(包含“调整”参数)?

谢谢!

回答

4

通常,锐化会增加像素之间的对比度。天真的实现经常会沿着边缘引入“光晕”,这可能在视觉上没有吸引力。诸如双边过滤器之类的技术试图解决这个问题。目前已在近几年中的几个有趣的技术,概念达到现代算法一个很好的总结是由安德鲁·亚当斯在涵盖:http://www.stanford.edu/class/cs448f/lectures/2.1/Sharpening.pdf

看接近尾声了一些方法:

双边&三边过滤

保边分解多尺度色调和细节操纵

盲解卷积(卷积没有已知内核)

当然,如果你有一个以上的图像,或者你正在处理(如主题等,图像清晰锐利),通常可以做的更好利用各种基于先验图像学习技术的图像的任何信息。

用于处理图像并尝试一些锐化技术较好的一般框架是OpenCV的,它存在于Python绑定。

+0

感谢您的建议;这正是我所期待的。至于遗传算法,由于除了输入图像之外没有附加信息,因此我正在考虑对图像应用人工模糊,然后锐化该图像(使用原始图像作为“理想”适应度函数)。然后,过滤器组将被应用于原始图像本身。当然,人造模糊的类型将决定图像如何变得锐利。你认为这种方法会有效吗? – varuas

+0

可能不直接,取决于你的形象。听起来像你可能试图更多地涉及超分辨率而不是锐化。看看Natural Image Priors,以及与之相关的各种单图超解像技术。也许从Glasner等人的“从单幅图像中获得超分辨率”开始,并参考更多的参考文献,尤其是Freeman等人,他有一篇从00年代初开始的开创性论文。 – dvj

1

一个简单,速度非常快&通常是有效的算法,一个想法(不知道是否有人已经想到了这一点)是这样的:

  • ň将代表锐度增加。 0值将离开图像不变,1和人大概两倍清晰度的值,值为-1会使图像很模糊和不可思议。
  • 现在,对于图像中的每个像素的每个颜色,为此
    • 呼叫的当前值V,当前颜色Ç,当前列X,和当前行ÿ
    • 集X到像这样在相邻的像素之间的最大区别是:
      M = biggestAbsoluteValueBetween(
      X - (the Cth color of the Yth row of the (X - 1)th column), 
      X - (the Cth color of the Yth row of the (X + 1)th column), 
      X - (the Cth color of the (Y - 1)th row of the Xth column), 
      X - (the Cth color of the (Y + 1)th row of the Xth column) 
      )
    • 最后,中号然后倍Ñ该差值添加到当前像素的新更清晰的图像中的当前颜色值像这样:
      Vnew = Vold + M * N

附录

我希望我成功的方式沟通,从任何程序任何人明语可以理解。如果您有任何建议或改善此答案的易读性的方法,请继续前进