max*_*mus 5 lighting image-processing computer-vision
我实现了一些自适应二值化方法,它们使用一个小窗口,并在每个像素处计算阈值.这些方法存在问题:如果我们选择窗口尺寸太小我们会得到这种效果(我认为原因是因为窗口尺寸很小) alt text http://i.piccy.info/i4/3d/bc /773b7df74ff7dadfd11c09372b7e.jpeg
在左上角有一个原始图像,右上角 - 全局阈值结果.左下角 - 将图像划分为某些部分的示例(但我正在谈论分析图像的小像素周围,例如大小为10X10的窗口).所以你可以在右下角看到这些算法的结果,我们得到一个黑色区域,但它必须是白色的.有谁知道如何改进算法来解决这个问题?
这个领域应该有很多研究正在进行,但不幸的是我没有提供好的链接。
一个可能有效但我没有测试过的想法是尝试估计照明变化,然后在阈值化之前将其删除(这是比“二值化”更好的术语)。然后问题从自适应阈值转移到寻找良好的照明模型。
如果您对光源有所了解,那么您当然可以从中构建模型。
否则,一个可能有效的快速技巧是对图像应用非常重的低通滤波器(模糊它),然后将其用作照明模型。然后创建原始图像和模糊版本之间的差异图像,并对其进行阈值处理。
编辑:经过快速测试,看来我的“快速破解”根本不起作用。想了想,我也不是很惊讶:)
I = someImage
Ib = blur(I, 'a lot!')
Idiff = I - Idiff
It = threshold(Idiff, 'some global threshold')
Run Code Online (Sandbox Code Playgroud)
编辑 2 有另一个想法,它可以根据图像的生成方式起作用。尝试从图像中的前几行估计照明模型:
不幸的是我在家没有任何好的工具来测试这个。
| 归档时间: |
|
| 查看次数: |
4119 次 |
| 最近记录: |