AR学习笔记:阈值二值化优化与颜色分割的优化
Posted Sakurazzy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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学习笔记:阈值二值化优化与颜色分割的优化的主要内容,如果未能解决你的问题,请参考以下文章