少高潮爽了在观看奂费_奶水无码专区_欧美亚洲三级日韩_91精品国产综合香蕉_秋霞伦理电影在线_GOGO亚洲肉体艺术欣赏图片_一本一道a√无码中文字幕_免费看一级毛片无码区_内射视频网站在线观看_国产激情视频精品中文

圖像處理
新聞詳情

十三種基于直方圖的圖像全局二值化算法原理、實現(xiàn)、代碼及效果

發(fā)布時間:2020-11-04 17:46:23 最后更新:2020-11-23 14:30:43 瀏覽次數(shù):4409

圖像二值化的目的是最大限度的將圖象中感興趣的部分保留下來,在很多情況下,也是進(jìn)行圖像分析、特征提取與模式識別之前的必要的圖像預(yù)處理過程。這個看似簡單的問題,在過去的四十年里受到國內(nèi)外學(xué)者的廣泛關(guān)注,產(chǎn)生了數(shù)以百計的閾值選取方法,但如同其他圖像分割算法一樣,沒有一個現(xiàn)有方法對各種各樣的圖像都能得到令人滿意的結(jié)果。

     在這些龐大的分類方法中,基于直方圖的全局二值算法占有了絕對的市場份額,這些算法都從不同的科學(xué)層次提出了各自的實施方案,并且這類方法都有著一些共同的特點:

  1、簡單;

     2、算法容易實現(xiàn);

     3、執(zhí)行速度快。

     本文摘取了若干種這類方法進(jìn)行了介紹。

     一:灰度平局值值法:

  1、描述:即使用整幅圖像的灰度平均值作為二值化的閾值,一般該方法可作為其他方法的初始猜想值。

  2、原理:           

 

3、實現(xiàn)代碼:

二、百分比閾值(P-Tile法)

 

     1、描述

    Doyle于1962年提出的P-Tile (即P分位數(shù)法)可以說是最古老的一種閾值選取方法。該方法根據(jù)先驗概率來設(shè)定閾值,使得二值化后的目標(biāo)或背景像素比例等于先驗概率,該方法簡單高效,但是對于先驗概率難于估計的圖像卻無能為力。

  2、該原理比較簡單,直接以代碼實現(xiàn)。

  三、基于谷底最小值的閾值

     1、描述:

  此方法實用于具有明顯雙峰直方圖的圖像,其尋找雙峰的谷底作為閾值,但是該方法不一定能獲得閾值,對于那些具有平坦的直方圖或單峰圖像,該方法不合適。

  2、實現(xiàn)過程:

  該函數(shù)的實現(xiàn)是一個迭代的過程,每次處理前對直方圖數(shù)據(jù)進(jìn)行判斷,看其是否已經(jīng)是一個雙峰的直方圖,如果不是,則對直方圖數(shù)據(jù)進(jìn)行半徑為1(窗口大小為3)的平滑,如果迭代了一定的數(shù)量比如1000次后仍未獲得一個雙峰的直方圖,則函數(shù)執(zhí)行失敗,如成功獲得,則最終閾值取兩個雙峰之間的谷底值作為閾值。

     注意在編碼過程中,平滑的處理需要當(dāng)前像素之前的信息,因此需要對平滑前的數(shù)據(jù)進(jìn)行一個備份。另外,首數(shù)據(jù)類型精度限制,不應(yīng)用整形的直方圖數(shù)據(jù),必須轉(zhuǎn)換為浮點類型數(shù)據(jù)來進(jìn)行處理,否則得不到正確的結(jié)果。

     該算法相關(guān)參考論文如下:

   J. M. S. Prewitt and M. L. Mendelsohn, "The analysis of cell images," innnals of the New York Academy of Sciences, vol. 128, pp. 1035-1053, 1966.
     C. A. Glasbey, "An analysis of histogram-based thresholding algorithms," CVGIP: Graphical Models and Image Processing, vol. 55, pp. 532-537, 1993.

     3、實現(xiàn)代碼:

 

其中IsDimodal函數(shù)為判斷直方圖是否是雙峰的函數(shù),代碼如下:

 4、效果:

     

        原圖                                                 二值圖                                          原始直方圖                平滑后的直方圖

  對于這種有較明顯的雙峰的圖像,該算法還是能取得不錯的效果的。

     四、基于雙峰平均值的閾值

       1、描述:

   該算法和基于谷底最小值的閾值方法類似,只是最后一步不是取得雙峰之間的谷底值,而是取雙峰的平均值作為閾值。

       2、參考代碼:


  3、效果:

       原圖                                                 二值圖                                           原始直方圖                平滑后的直方圖

    五、迭代最佳閾值

  1、描述:

    該算法先假定一個閾值,然后計算在該閾值下的前景和背景的中心值,當(dāng)前景和背景中心值得平均值和假定的閾值相同時,則迭代中止,并以此值為閾值進(jìn)行二值化。

    2、實現(xiàn)過程:

 ?。?)求出圖象的最大灰度值和最小灰度值,分別記為gl和gu,令初始閾值為:

                        

      (2) 根據(jù)閾值T0將圖象分割為前景和背景,分別求出兩者的平均灰度值A(chǔ)b和Af:

              

      (3) 令

                          

    如果Tk=Tk+1,則取Tk為所求得的閾值,否則,轉(zhuǎn)2繼續(xù)迭代。

     3、參考代碼:

 

4、效果:

      原圖                                          二值圖                                         直方圖 

   六、OSTU大律法

  1、描述:

       該算法是1979年由日本大津提出的,主要是思想是取某個閾值,使得前景和背景兩類的類間方差最大,matlab中的graythresh即是以該算法為原理執(zhí)行的。

       2、原理:

       關(guān)于該算法的原理,網(wǎng)絡(luò)上有很多,這里為了篇幅有限,不加以贅述。

       3、參考代碼:

 

4、效果:

該算法對于那些具有平坦的直方圖的圖像具有一定的適應(yīng)能力。

      七、一維最大熵

      1、描述:

       該算法把信息論中熵的概念引入到圖像中,通過計算閾值分割后兩部分熵的和來判斷閾值是否為最佳閾值。

      2、算法原理

       這方面的文章也比較多,留給讀者自行去查找相關(guān)資料。

       3、參考代碼: 

八、力矩保持法 
     1、描述:

  該算法通過選擇恰當(dāng)?shù)拈撝祻亩沟枚岛蟮膱D像和原始的灰度圖像具有三個相同的初始力矩值。

  2、原理:

    參考論文:W. Tsai, “Moment-preserving thresholding: a new approach,” Comput.Vision Graphics Image Process., vol. 29, pp. 377-393, 1985.

     由于無法下載到該論文(收費的),僅僅給出從其他一些資料中找到的公式共享一下。

             

    其中的A\B\C的函數(shù)可見代碼部分。

   3、參考代碼:

對于很多圖像,該算法頁能取得比較滿意的結(jié)果。

   九、基于模糊集理論的閾值

    該算法的具體分析可見:基于模糊集理論的一種圖像二值化算法的原理、實現(xiàn)效果及代碼

    此法也借用香農(nóng)熵的概念,該算法一般都能獲得較為理想的分割效果,不管是對雙峰的還是單峰的圖像。

  十、Kittler最小錯誤分類法

    由于精力有限,以下幾種算法僅僅給出算法的論文及相關(guān)的代碼。

    該算法具體的分析見:

  • Kittler, J & Illingworth, J (1986), "Minimum error thresholding", Pattern Recognition 19: 41-47

  參考代碼:

從實際的運行效果看,該算法并不很好。

  十一:ISODATA(也叫做intermeans法)

  參考論文:

     參考代碼(未做整理):

 十二、Shanbhag 法

        參考論文:

 

      Shanbhag, Abhijit G. (1994), "Utilization of information measure as a means of image thresholding", Graph. Models Image Process. (Academic Press, Inc.) 56 (5): 414--419, ISSN 1049-9652, DOI 10.1006/cgip.1994.1037

     參考代碼(未整理):

 十三、Yen法

  參考論文:

     1) Yen J.C., Chang F.J., and Chang S. (1995) "A New Criterion  for Automatic Multilevel Thresholding" IEEE Trans. on Image  Processing, 4(3): 370-378
     2) Sezgin M. and Sankur B. (2004) "Survey over Image Thresholding Techniques and Quantitative Performance Evaluation" Journal of  Electronic Imaging, 13(1): 146-165

       參考代碼(未整理):

 一行很多代碼是摘自開源軟件ImageJ的資料,讀者也可以參考:http://fiji.sc/wiki/index.php/Auto_Threshold  這里獲得更多的信息。

      最后,我對這些算法的做了簡單的UI界面,供有興趣的讀者參考。

      工程代碼下載:http://files.cnblogs.com/Imageshop/HistgramBinaryzation.rar

 

在線客服 雙翌客服
客服電話
  • 0755-23712116
  • 13822267203