亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

圖像分割的一些簡單實現

2019-11-18 18:36:05
字體:
來源:轉載
供稿:網友
 

圖像分割中閾值的自動選取的研究及其算法實現

圖像分割是圖像處理這門學科中的基礎難題,基于閾值的分割則又是圖像分割的最基本的難題之一,其難點在于閾值的選取。事實證明,閾值的選擇的恰當與否對分割的效果起著決定性的作用。由于閾值選取對圖像分割的基礎性,本文主要在【1】、【2】、【3】、【4】等的基礎上,對一些當前流行的閾值選取算法做了探討、實現和比較。多閾值分割雖然能進一步提高圖像分割的質量,但由于它只是分割技巧的處理問題,而與單閾值分割并無本質的區別。因此本文并不對多閾值分割進行討論,而只考慮單閾值分割的情形。

1.  雙峰法

雙峰法的原理及其簡單:它認為圖像由前景和背景組成,在灰度直方圖上,前后二景都形成高峰,在雙峰之間的最低谷處就是圖像的閾值所在。根據這一原理,我們給出了它的實現,部分代碼如下(Pascal語言描述,以下同):

//intPeak、intPeak2、intValley:峰值和直方圖值

//intIndx::相應的灰度值

intPeak,intIndx,intPeak2,intIndx2,intValley,intValleyIndx:integer;

//初始雙峰值

    intPeak:=0;

    intPeak2:=0;

 

//取得第一峰值

    for intLoop:=0 to 255 do

      if intPeak<=intGrayLevel[intLoop] then

      begin

        intPeak:=intGrayLevel[intLoop];

        intIndx:=intLoop;

      end;

 

//取得第二峰值

    for intLoop:=0 to 255 do

    Begin

      if (intPeak2<=intGrayLevel[intLoop]) and (intLoop<>intIndx) then

      begin

        intPeak2:=intGrayLevel[intLoop];

        intIndx2:=intLoop;

      end

    end;

 

//取得雙峰之間的谷值

    intValley:=intSize;

    if intIndx2<intIndx then

      for intLoop:=intIndx2 to intIndx do

        if intValley>intGrayLevel[intLoop] then

        begin

          intValley:=intGrayLevel[intLoop];

          intValleyIndx:=intLoop;

        end;

從分割的效果來看,當前后景的對比較為強烈時,分割效果較好;否則基本無效。

2.  迭代法

迭代法是基于逼近的思想,其步驟如下:

1.  求出圖象的最大灰度值和最小灰度值,分別記為ZMAXZMIN,令初始閾值T0=(ZMAX+ZMIN)/2;

2.  根據閾值TK將圖象分割為前景和背景,分別求出兩者的平均灰度值ZOZB;

3.  求出新閾值TK+1=(ZO+ZB)/2;

4.  TK=TK+1,則所得即為閾值;否則轉2,迭代計算。

以下給出迭代求閾值的部分實現:

//閾值初始為0

intThresholdVal:=0;

      intThresholdVal2:=0;

 

  //總灰度值

  intTotalGrayLevel:=0;

  for intLoop:=0 to 255 do

    if intGrayLevel[intLoop]<>0 then

      intTotalGrayLevel:=intTotalGrayLevel+intLoop*intGrayLevel[intLoop];

 

  //求出初始最大灰度值

  for intLoop:=0 to 255 do

    if intGrayLevel[intLoop]>0 then

    begin

      intLGrayLevel:=intLoop;

      intThresholdVal:=intLoop;

      break;

    end;

 

  //求出初始最小灰度值和初始閾值

  for intLoop:=255 downto 0 do

    if intGrayLevel[intLoop]>0 then

    begin

      intRGrayLevel:=intLoop;

      intThresholdVal:=(intThresholdVal+intLoop)div 2;

      break;

    end;

 

  //迭代求解

  while intThresholdVal<>intThresholdVal2 do

    begin

      intThresholdVal2:=intThresholdVal;

      intCount:=0;

      intLGrayLevel:=0;

      for intLoop:=0 to intThresholdVal do

        if intGrayLevel[intLoop]<>0 then

        begin

          intCount:=intCount+intGrayLevel[intLoop];

          intLGrayLevel:=intLGrayLevel+intLoop*intGrayLevel[intLoop];

        end;

      intRGrayLevel:=intTotalGrayLevel-intLGrayLevel;

      intLGrayLevel:=intLGrayLevel div intCount;

      intRGrayLevel:=intRGrayLevel div (intSize-intCount);

      intThresholdVal:=(intLGrayLevel+intRGrayLevel)div 2;

    end;

迭代所得的閾值分割的圖象效果良好。基于迭代的閾值能區分出圖像的前景和背景的主要區域所在,但在圖像的細微處(如圖1中的淺色線條)還沒有很好的區分度。

但令人驚訝的是,對某些特定圖象,微小數據的變化卻會引起分割效果的巨大改變,兩者的數據只是稍有變化,但分割效果卻反差極大,個中原因還有待進一步研究。

3.  大津法(OTSU法)

大津法由大津于1979年提出,對圖像Image,記t為前景與背景的分割閾值,前景點數占圖像比例為w0, 平均灰度為u0;背景點數占圖像比例為w1,平均灰度為u1。圖像的總平均灰度為:u=w0*u0+w1*u1。從最小灰度值到最大灰度值遍歷t,當t使得值g=w0*(u0-u)2+w1*(u1-u)2 最大時t即為分割的最佳閾值。對大津法可作如下理解:該式實際上就是類間方差值,閾值t分割出的前景和背景兩部分構成了整幅圖像,而前景取值u0,概率為w0,背景取值u1,概率為w1,總均值為u,根據方差的定義即得該式。因方差是灰度分布均勻性的一種度量,方差值越大,說明構成圖像的兩部分差別越大,當部分目標錯分為背景或部分背景錯分為目標都會導致兩部分差別變小,因此使類間方差最大的分割意味著錯分概率最小。

直接應用大津法計算量較大,因此我們在實現時采用了等價的公式g=w0*w1*(u0-u1)2。部分計算過程如下:

 

//遍歷所有灰度值求Max g。

for intCurrentLevel:=0 to intArrLen do

  begin

    if intSclGrayLevel[intCurrentLevel]=0 then

      continue

    else

      begin

              //計算當閾值為intCurrentLevel時的g

        intCount:=0;

        intSumPels:=0;

        for intLoop:=0 to intCurrentLevel do

          begin

            intCount:=intCount+intSclGrayLevel[intLoop];

            intSumPels:=intSumPels+intSumPelsArr[intLoop];

          end;

        w0:=intCount/intSize;

        u0:=intSumPels/intCount;

        w1:=1-w0;

        if intSize-intCount<>0 then

          u1:=(intTotalPels-intSumPels)/(intSize-intCount)

        else

          u1:=0;

 

        RlTempO:=w0*w1*(u0-u1)*(u0-u1);

        if RlTempO>RlMaxO then

        begin

          RlMaxO:=RlTempO;

          Result:=intCurrentLevel;

        end;

      end;

我們在測試中發現:大津法選取出來的閾值非常理想,對各種情況的表現都較為良好。雖然它在很多情況下都不是最佳的分割,但分割質量通常都有一定的保障,可以說是最穩定的分割。由上可知,大津算法是一種較為通用的分割算法。在它的思想的啟迪下,人們進一步提出了多種類似的評估閾值的算法,具體可參加【5】、【6】等。

4.  灰度拉伸-一種改進的大津法

大津法得到了廣泛的應用,但有人發現,大津法致命的缺陷是當目標物與背景灰度差不明顯時,會出現無法忍受的大塊黑色區域,甚至會丟失整幅圖像的信息。為了解決這個問題,有人提出了灰度拉伸的增強大津法。這種方法的原理其實就是在大津法的基礎上通過增加灰度的級數來增強前后景的灰度差,從而解決問題?;叶仍黾拥姆椒ㄊ怯迷械幕叶燃壋松贤粋€系數,從而擴大灰度的級數,特別地,當乘上的系數為1時,這就是大津法的原型,因此,大津法可以看做是這種方法的一個特例。

在實現中,我們實現了多種灰度拉伸,發現對不同的圖像,當遇上不同的拉伸系數時,分割效果也相差甚遠。

5.  Kirsh算子

在【4】中提出了基于Kirsh算子的分割方法,其思想為:對數字圖像的每個像素i,考慮它的八個鄰點的灰度值,以其中三個相鄰點的加權和減去剩下五個鄰點的加權和得到差值,令三個鄰點繞該像素點不斷移位,取此八個差值的最大值作為Kirsh算子。即:設Si為三鄰點之和,Ti為五鄰點之和,則Kirsh算子定義為K(i)=max{1,max5Si-3Ti}如取閾值THk,則當K(i)>THk時,像素i為階躍邊緣點。此外,【4】的作者認為:假設圖像大小為H×W個像素點,其邊緣點像素一般不會超過5×H個。基于這一假設,該文作者提出:(對一幅圖像)用Kirsh算法,取某一較低的初始閾值THk(以保證目標和背景間灰度變化很小的圖像邊緣也能被取出),對于每個像素點i計算其Kirsh算子,如果K(i)>THk,則i為邊緣點,邊緣點數N(初始值為0)1,一旦邊緣點數超過5×H ,而i還小于整幅圖像的像素數,說明閾值取得太低,致使許多不是邊緣點的像素也被取出,因此需提高閾值。如此反復,即可獲得分割圖像所需的閾值。

但在實現中,本文作者發現,【4】中的敘述頗有值得探討之處,如在H×W圖像中,HW之間的關系是完全對稱的,兩者之間如何抉擇?此外,在求Kirsh算子K(i)=max{1,max5Si-3Ti}時也頗有疑慮之處,由其求得的結果分割圖像效果并不明顯?;趯ΨQ性和歸一化的考慮,筆者把Kirsh算子改為:K(i)=max{1,max abs(5Si-3Ti) div 15 },并根據在實際運行中的效果,對WH的選取為:if W>H then use 5*H else use 5*W。在實際應用中表明,修改后的分割質量顯著提高。但與【4】文中作者聲稱的效果及其示例相比,仍有相當的距離,特別是它不能解決前后景對比不強烈時的分割情形。但當前后背景對比十分強烈且集中時,Kirsh算子法卻會有十分突出的表現。參考文獻

【1】       崔屹,數字圖像處理技術與應用,電子工業出版社,1997

【2】       付忠良,圖像閾值選取方法,計算機應用,2000

【3】       吳冰、秦志遠,自動確定圖像二值化最佳閾值的新方法,繪測學院學報,2000

【4】       曹莉華,圖像邊緣提取中的一種動態閾值獲取法,小型微型計算機系統,1997

【5】       付忠良,基于圖像差距度量的閾值選取方法,計算機研究與發展,2001

【6】       付忠良,一些新的圖像閾值選取方法,計算機應用,2001

【7】       Kenneth.R.Castleman著,朱志剛等譯,數字圖像處理,電子工業出版社,1998


上一篇:用Ehlib二次開發報表打印程序,實現財務憑證的打?。ㄈ?/a>

下一篇:關于對象持久類框架的構架設計(Part1)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品久久久久久久7电影| 热re99久久精品国产66热| 欧美伦理91i| 成人疯狂猛交xxx| 欧美成人自拍视频| 欧美老肥婆性猛交视频| 亚洲国产精品久久精品怡红院| 国产精品久久999| 黑人与娇小精品av专区| 国产不卡视频在线| 国产一级揄自揄精品视频| 97超级碰在线看视频免费在线看| 久久久精品免费视频| 久久国产精品电影| 午夜精品免费视频| 成人a免费视频| 成人免费xxxxx在线观看| 久久躁日日躁aaaaxxxx| 国产精品久久久久久搜索| 亚洲精品久久7777777| 91精品国产成人| 色噜噜狠狠狠综合曰曰曰88av| 欧美黄色成人网| 午夜精品久久久99热福利| 精品国产91久久久| 久久久久久久电影一区| 浅井舞香一区二区| 久久五月天色综合| 欧美性videos高清精品| 亚洲国产精品电影在线观看| 亚洲人成网站免费播放| 欧美日韩高清在线观看| 国产一区二区三区日韩欧美| 日韩高清人体午夜| 狠狠色狠色综合曰曰| 欧美一区二区三区艳史| 不卡av电影院| 亚洲第一福利网站| 亚洲男人的天堂网站| 久久视频中文字幕| 2024亚洲男人天堂| 日韩精品在线观看一区| 91在线精品视频| 亚洲午夜久久久久久久| 欧美性xxxx极品hd欧美风情| 久久久精品国产网站| 欧美日韩另类在线| 亚洲精品久久久久久久久久久| 中文字幕日韩欧美在线视频| 欧美极品少妇xxxxⅹ免费视频| 国产午夜精品免费一区二区三区| 久久综合色88| 久久国产精品久久国产精品| 欧美影院成年免费版| 欧美网站在线观看| 最新69国产成人精品视频免费| 亚洲国产精品99| 欧美在线观看网址综合| 国产性色av一区二区| 成人免费视频97| 亚洲精选一区二区| 一区二区三区国产视频| 欧美日韩黄色大片| 国产欧美一区二区三区视频| 97视频在线免费观看| 中文日韩在线视频| 久久免费视频网站| 国产噜噜噜噜久久久久久久久| 91精品国产综合久久久久久蜜臀| 97精品在线观看| 国产亚洲精品美女| 色综合色综合网色综合| 日韩av最新在线观看| 国内精品小视频| 国产精品美女久久| 国产成人高潮免费观看精品| 中文字幕一区电影| 亚洲精品自在久久| 国产一区视频在线| 欧美精品手机在线| 欧美高清视频一区二区| 亚洲欧美日韩精品久久奇米色影视| 日本一区二区三区在线播放| 色狠狠av一区二区三区香蕉蜜桃| 自拍视频国产精品| 国产精品18久久久久久首页狼| 久久久国产视频91| 日本精品视频网站| 91久久国产精品91久久性色| 亚洲有声小说3d| 在线观看欧美视频| 久久精品青青大伊人av| 2019国产精品自在线拍国产不卡| 欧美日韩中文字幕综合视频| 色婷婷综合成人| 深夜福利91大全| 亚洲精品资源在线| 亚洲一区二区三区久久| 亚洲国产一区二区三区四区| 欧美性受xxxx黑人猛交| 亚洲色图第一页| 91免费看片在线| 亚洲免费视频一区二区| 国产成人精品免高潮费视频| 国产亚洲欧美日韩一区二区| 久久久久久综合网天天| 欧美精品在线视频观看| 国产精品av电影| 国产成人精品日本亚洲| 亚洲人高潮女人毛茸茸| 国产精品视频成人| 亚洲国产美女精品久久久久∴| 日韩免费观看在线观看| 在线播放日韩欧美| 久久久久久18| 欧美黄色www| 色综合视频一区中文字幕| 日韩午夜在线视频| 正在播放国产一区| 一本色道久久88综合亚洲精品ⅰ| 日韩av一区在线观看| 亚洲国产精品yw在线观看| 2019日本中文字幕| 精品无人区太爽高潮在线播放| 91色视频在线导航| 亚洲视频综合网| 久久久精品国产| 日韩av不卡电影| 成人av资源在线播放| 欧美综合国产精品久久丁香| 久久精品成人欧美大片| 这里只有精品在线观看| 免费不卡欧美自拍视频| 亚洲xxxx3d| 欧美交受高潮1| 亚洲女人天堂成人av在线| 欧美自拍视频在线观看| 日韩精品极品在线观看播放免费视频| 久久久久久有精品国产| 久久影院免费观看| 亚洲天堂av在线免费| 亚洲人午夜精品| 日韩大片在线观看视频| www.日韩系列| 91精品国产高清久久久久久91| 俺也去精品视频在线观看| 69久久夜色精品国产69乱青草| 亚洲国产精品成人精品| 精品人伦一区二区三区蜜桃免费| 国产不卡一区二区在线播放| 亚洲精品一区二区久| 国产欧美精品一区二区三区介绍| 国产精品福利久久久| 精品一区二区电影| 国产精自产拍久久久久久蜜| 午夜精品视频在线| 国产精品稀缺呦系列在线| 亚洲人成电影网站色www| 日韩中文综合网| 中文字幕在线看视频国产欧美| 午夜精品蜜臀一区二区三区免费| 91在线观看免费| 国产成人在线播放| 国产成人97精品免费看片|