一種迭代求最優閾值的演算法

2021-05-25 06:36:39 字數 379 閱讀 3953

演算法流程如下:

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時,要...

一種濾波演算法

剛看到要寫濾波演算法的時候懵了,想著是不是要去掉最大值 最小值什麼的,感覺很高大上 於是開始查資料了解,發現濾波演算法其實有很多種方法,如下列舉了一些,當然能起到的濾波作用也是不同的 於是我看了下,選擇了一種最簡單實用的濾波演算法學習了一下,即下面的中位值濾波演算法 簡單來說就是多次取樣,排序,取中...