AR学习笔记:阈值二值化优化与颜色分割的优化

Posted Sakurazzy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AR学习笔记:阈值二值化优化与颜色分割的优化相关的知识,希望对你有一定的参考价值。

AR学习笔记(七):阈值二值化优化与颜色分割的优化

接下来改进一下阈值二值化的方法,使分割更加完整,然后改进颜色分割的方法,让阈值适应不同牙齿颜色以及光照条件


阈值二值化的优化

当前方案

图像预处理

图像预处理包括尺寸修改、限制对比度自适应直方图均衡、中值滤波,其中CLAHE能够增强牙齿和牙龈间的对比度,中值滤波可以削弱牙齿反光从而减少噪声

下面是不同参数下的CLAHE的效果

ClipLimit = 2.0

ClipLimit = 4.0

ClipLimit = 8.0

结论:当ClipLImit上升后,对比度增强,但牙齿底部颜色失真严重,灰度值变低,这里取3.0比较合适,对于其它样本图片同样适用

下面是CLAHE对不同均匀光照(暗/正常/亮)下图片的效果




结论:CLAHE能够使得在不同光照下的图片亮度趋向于一致,但是对于不均匀光照,没有统一局部光照的效果
ps.矫正光照的其他方法:在HSV颜色模型下,使多幅图像的V参数达到一致

阈值二值化

下面是对于均匀光照(暗/正常/亮)条件的图片,采用不同阈值的二值化处理效果对比

thresh = 100



thresh = 120

下面是对于不均匀光照(暗/正常/亮)条件的图片,采用不同阈值的二值化处理效果对比

thresh = 100


thresh = 120


结论:
由于阈值thresh固定,所以只在正常光照下,二值化的效果比较好,对于光照过强或过弱情况,轮廓的提取存在较大误差


优化方案

otsu法

otsu法(最大类间方差法,大津算法)使用的是聚类的思想,把图像的灰度数按灰度级分成2个部分,使得两个部分之间的灰度值差异最大,每个部分之间的灰度差异最小,通过方差的计算来寻找一个合适的灰度级别来划分。 所以可以在二值化的时候采用otsu算法来自动选取阈值进行二值化。
otsu算法被认为是图像分割中阈值选取的最佳算法,计算简单,不受图像亮度和对比度的影响。

代码参考:OTSU算法介绍及openCV的C++实现
下面是测试结果:

ostuthresh = 107

ostuthresh = 111

ostuthresh = 117

结论:使用ostu得到的阈值还需要进一步地优化,但优化难度比较大,目前通过对多幅图像测试,采取×1.3的方法来拟合合理阈值,相比固定阈值的优化有一定的改善

顶帽变换

可以用来矫正不均匀光照,下面是不同结构元素尺寸(2121,3131,4141,5151)的测试结果,效果不好

分块阈值法

参考:光照不均匀图像分割技巧


颜色分割的优化

当前方案

图像预处理同样包括尺寸修改、限制对比度自适应直方图均衡、中值滤波,然后在HSV空间下进行颜色分割
分割效果见:AR学习笔记(五):边缘分割优化和提取特征点

优化方案

HSV模型分割

查找表方法

以上是关于AR学习笔记:阈值二值化优化与颜色分割的优化的主要内容,如果未能解决你的问题,请参考以下文章

AR学习笔记:阈值二值化优化与颜色分割的优化

AR学习笔记:阈值二值化优化与颜色分割的优化

AR学习笔记:边缘分割优化和提取特征点

AR学习笔记:边缘分割优化和提取特征点

AR学习笔记:边缘分割优化和提取特征点

AR学习笔记:边缘分割优化和提取特征点