AR学习笔记(七):阈值二值化优化与颜色分割的优化
AR學習筆記(七):閾值二值化優化與顏色分割的優化
- 閾值二值化的優化
- 當前方案
- 圖像預處理
- 閾值二值化
- 優化方案
- otsu法
- 頂帽變換
- 分塊閾值法
- 顏色分割的優化
- 當前方案
- 優化方案
- HSV模型分割
- 查找表方法
接下來改進一下閾值二值化的方法,使分割更加完整,然后改進顏色分割的方法,讓閾值適應不同牙齒顏色以及光照條件
閾值二值化的優化
當前方案
圖像預處理
圖像預處理包括尺寸修改、限制對比度自適應直方圖均衡、中值濾波,其中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学习笔记(七):阈值二值化优化与颜色分割的优化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Excel四舍六入五单双公式
- 下一篇: Android仿简历生成图片功能,And