OTSU算法是由日本學者OTSU於1979年提出的一種對圖像進行二值化的高效算法。(大津算法)。不過OTSU比較適合前景和背景像素值差距比較大的圖像,如果圖像復雜、細節多、近色的話,OTSU算法效果不好。
閾值將原圖像分成前景、背景兩個圖像。前景:用n1,csum,m1來表示在當前閾值下的前景的點數,質量矩,平均灰度;背景:用n2,sum-csum,m2來表示在當前閾值下的背景的點數,質量矩,平均灰度;當取最佳閾值時,背景應該與前景差別最大,關鍵在於如何選擇衡量差別的標准;而在Otsu算法中這個衡量差別的標准就是最大類間方差;
在以下程序中類間方差用是sb表示,最大類間方差用fmax,關於最大類間方差(Otsu)的性能:
類間方差對噪音和目標大小十分敏感,它僅對類間方差為單峰值的圖像產生較好的分割效果,當目標與背景的大小比例懸殊時,類間方差准則函數可能呈現雙峰或多峰,此時效果不好,但是類間方差使用是最少的。
最大類間方差(Otsu)的公式推導:
記t為前景與背景的分割閾值,前景點數占圖像比例為w0,平均灰度為u0;背景點數占圖像比例為w1,平均灰度為u1;
則圖像的總平均灰度為:u=w0*u0+w1*u1;
前景和背景圖像的方差:g=w0*(u0-u).^2+w1*(u1-u).^2=w0*w1*(u0-u1).^2
此公式為方差公式。
上面的g公式也就是下面程序中得sb的表達式:
當方差g最大時,可以認為此時前景與背景差異最大,也就是此時的灰度值是最佳閾值;
Otsu圖像分割算法結果3D展示圖