演算法流程如下:
1 假設沒有有關物體確切位置的資訊,作為第一步近似,可以考慮將初始閾值設定為影象的平均灰度,這樣做是合理的,因為,物體與背景往往有很明顯的灰度差,其平均灰度一定在背景灰度和物體灰度之間。
2 在第t步,分別計算背景和物體的灰度均值,並求出兩個均值的平均值,作為下一步分割影象的閾值。
3 以新閾值更新背景和物體,轉到第2步,如果該次計算的閾值與上一次計算的閾值相等,則停止;如果達到設定的迭代次數則停止。
具體**如下,基於opencv2.1和vs2008。
以該演算法求出的閾值,二值化該影象的效果如下:
值得一提的是,該演算法一般在迭代5次左右就可以收斂到最佳閾值。以上面的影象為例,迭代了4次就可以返回最佳閾值,第三次就可以達到最佳閾值。
另一種求大數階乘的演算法
大數階乘 問題描述 編寫程式,對給定的n n 100 計算並輸出k的階乘k 的全部有效數字。注意 如果要求乙個5的階乘,用整型可以儲存,求10的階乘可以用長整型表示,但若要求100的階乘,就無法用長整型表示,此時就必須考慮別的方法。要求的k 的值,必定已求得 k 1 的值,依次地推,當 k 2時,要...
另一種求大數階乘的演算法
大數階乘 問題描述 編寫程式,對給定的n n 100 計算並輸出k的階乘k 的全部有效數字。注意 如果要求乙個5的階乘,用整型可以儲存,求10的階乘可以用長整型表示,但若要求100的階乘,就無法用長整型表示,此時就必須考慮別的方法。要求的k 的值,必定已求得 k 1 的值,依次地推,當 k 2時,要...
一種濾波演算法
剛看到要寫濾波演算法的時候懵了,想著是不是要去掉最大值 最小值什麼的,感覺很高大上 於是開始查資料了解,發現濾波演算法其實有很多種方法,如下列舉了一些,當然能起到的濾波作用也是不同的 於是我看了下,選擇了一種最簡單實用的濾波演算法學習了一下,即下面的中位值濾波演算法 簡單來說就是多次取樣,排序,取中...