《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > 一種規則幾何圖形的計算機識別方法
一種規則幾何圖形的計算機識別方法
來源:微型機與應用2011年第9期
孫來軍,李江游,候 影,葉光忠
(黑龍江大學 黑龍江省電子工程高校重點實驗室,黑龍江 哈爾濱 150080)
摘要: 許多領域在進行圖片處理時都需要識別出圖片中的幾何圖形,傳統的霍夫變換、不變矩等識別方法都存在著耗費大量系統內存、計算速度慢等缺點。基于此,提出一種新的幾何圖形的識別方法。介紹了該方法的實現原理和實現過程。最后利用C++Builder編寫軟件對這種方法進行了測試,證明了該方法的正確性和可靠性。
Abstract:
Key words :

摘  要: 許多領域在進行圖片處理時都需要識別出圖片中的幾何圖形,傳統的霍夫變換、不變矩等識別方法都存在著耗費大量系統內存、計算速度慢等缺點。基于此,提出一種新的幾何圖形的識別方法。介紹了該方法的實現原理和實現過程。最后利用C++Builder編寫軟件對這種方法進行了測試,證明了該方法的正確性和可靠性。
關鍵詞: 幾何圖形;識別;像素

 在計算機視覺領域中,如何從當前的圖像中提取出所需要的特征信息是圖像識別的關鍵所在。在許多應用場合中需要快速準確地識別出圖像中的幾何圖形(如圓、矩形、三角形等),從而進行更深一步的操作。例如:在基于圖像處理的自動報靶系統中,對靶環的識別就屬于這一類應用[1]。在這些應用領域,許多學者提出了多種方法,如霍夫變換、不變矩、骨架構造識別等。這些傳統的識別方法雖然檢測的準確性很高而且算法成熟,但在進行幾何圖形識別時都存在需要耗費大量系統內存、計算速度較慢等缺點,并不適合要求對幾何圖形進行快速檢測的領域[2-3]。因此,本文提出了一種全新的基于幾何圖形(周長、面積以及頂點個數)的圖形識別方法。經過測試,該方法可以快速有效地檢測出一幅圖片中的幾何圖形并給出該圖形的周長、面積等參數。
1 圖形識別的基本原理
 一般情況下,從客觀景物得到的圖像是二維的,可以用一個二維數組f(x,y)來表示。x、y表示二維空間中一個坐標點的位置,而f(x,y)則是代表圖像在點(x,y)的某種性質的數值。為了能用計算機對圖像進行加工,需要把連續的圖像在坐標空間(x,y)和性質空間F都離散化,這種離散化的圖像是數字圖像,可以用I(x,c)來表示。I(x,c)代表離散后的f(x,y)。為了方便,本方法仍用f(x,y)代表數字圖像,圖像中每個基本單元稱為圖像元素(簡稱像素)。一幅圖像必須在空間和灰度上都離散化才能被計算機處理。空間坐標的離散化稱為空間采樣。假設用一個m×n維的數組中等距地采樣來近似表示一幅連續圖像f(x,y),即[4]:

 式中,每個元素都是一個離散變量,其右邊的矩陣代表數字圖像,數組的每個元素即對應像素。由此可見,對圖片的處理實際上是對組成圖片的像素進行操作。在實際的檢測中,一般是根據幾何圖形所在區域的像素點的灰度級別與圖片背景的像素點的灰度級別存在的差異,將屬于幾何圖形的像素點檢測出來。對于規則幾何圖形的識別,本文所提出的算法是根據幾何圖形的周長、面積以及頂點個數來判斷。下面介紹圓形、矩形(其他普通四邊形也適用)、三角形的識別原理。

 由灰度比值可知,該比值只有一個確定的下限,而無確定的上限,因此,不能利用周長的平方與面積的比對矩形進行識別。但矩形也有其特殊的地方,即它有4個頂點,而且只有4個頂點。只要對所檢測的圖形的邊界點進行判斷并計算頂點的個數,如果個數等于4,則為矩形(或其他四邊形);否則就為其他幾何圖形。與圓形的識別相類似,在對矩形的實際檢測過程中也可能會出現頂點個數不為4的現象,這是由于圖形繪制不規范所造成的。但只要對已經檢測出來的頂點再進行一次“同鄰域”判斷,看其中是否有些頂點屬于同一個鄰域范圍(一般為8鄰域),如果有,只留下一個而將其他的去除,這樣就可以對結果進行很好的修正,從而可避免錯誤檢測的出現。利用這種方法就可以很好地識別出所檢測的圖形為矩形。
    (3)三角形:三角形的識別與矩形的識別方法相類似,也是利用頂點的個數來判斷圖形所屬的幾何形狀,這里不再贅述。
2 圖形識別的實現過程
 利用計算機進行圖形識別的過程如圖1所示。

 

 

2.1 預處理
 從圖1可以看出,對一幅圖片進行操作之前需進行必要的預處理,這是因為圖片在繪制過程中或輸入到計算機的過程中可能引入噪聲。通常的預處理過程包括灰度化處理、二值化處理、平滑、濾波等。其步驟如下:
 (1)灰度化:圖片實際上是一個像素的二維數組,其中每個像素的顏色由構成這種顏色的紅(R)、綠(G)、藍(B)三種基本色的分量來表示。以真彩圖片為例,典型情況下,顏色的每個組分都用一個字節來表示,因此為每種顏色組分提供了256個級別。這種方法為每個像素使用3 B,允許達到256×256×256=16 777 216或1 600萬種RGB值(顏色)。由于彩色信息的區分度不高,如果直接對彩色圖片的像素進行操作,所得到的檢測結果精度也不高。而將圖片進行灰度處理后,圖片以亮度信息為主要信息,彩色信息為次要信息,則可以在很大程度上提高檢測精度,因此需將圖片進行灰度處理,把彩色圖片轉換成為灰度圖。灰度圖形處理采用的方法有:最大值轉換法、平均值轉換法、黃金權重轉換法等,本文在進行灰度處理時采用的是最大值(亮度)轉換法。經過這種方法處理后的圖片每一個像素的RGB值都是相同的,即RGB值的范圍從(0,0,0)、(1,1,1)一直到(255,255,255)。其中,(0,0,0)是全黑色,(255,255,255)是全白色,中間的是灰色[5]。實現這個過程的部分源代碼為:
//利用GetxValue取出每一個點的像素的RGB值
     r=GetRValue(color1);
     g=GetGValue(color1);
     b=GetBValue(color1);
//找出RGB值中最大的值
     np=r>g?r:g;
     np=np>b?np:b;
//將圖片變為亮度最高的灰度圖
Image1->Picture->Bitmap->Canvas->Pixels[i][j]=
TColor(RGB(np,np,np));
 (2)二值化:雖然經過灰度處理后圖片的主要信息僅為亮度信息,但有效檢測區域的像素點的灰度級別并不統一。因此,灰度處理后往往還需要對圖片再進行二值化處理,以使所要檢測的幾何圖形的區域變為較深的顏色,背景的部分變為較淺的顏色。這樣可以更進一步加強區分度,提高檢測的精度[6]。本文所使用的二值化方法為大律法,大律法又稱最大類間方差法,其處理原理為:取某個灰度值,以它為分界點將圖像分為灰度值大小的兩類,分別計算這兩類中的像素點數及灰度平均值;然后,計算它們的類間方差;最后取所有灰度的類間方差中的最大值對應的灰度為閾值。類間方差的計算公式如下:
 w(i)=n1(i)n2(i)(v1(i)-v2(i))2
 其中,n1(i)、n2(i)分別為灰度小于i的像素以及大于等于i的像素的個數,v1(i)、v2(i)分別為灰度的平均值。
實現這個過程的部分源代碼為:
        //二值化處理
  for(i=0;i<w;i++)
  {  for(j=0;j<h;j++)
        {
color=Image1->Picture->Bitmap->Canvas->
                           Pixels[i][j];
ave=Dalu(gray);
if(GetRValue(color)>ave)
         //將背景點變為白色
    Image1->Picture->Bitmap->Canvas->Pixels[i][j]=
TColor(RGB(255,255,255));
Else
        //將幾何圖形區域變為黑色
   Image1->Picture->Bitmap->Canvas->Pixels[i][j]=
TColor(RGB(0,0,0));
        }
  }
 (3)平滑和濾波。在進行完步驟(1)、(2)的預處理后,如果幾何圖形還是不十分明顯,可以用高斯平滑濾波器和拉普拉斯銳化濾波器結合計算即可得到幾何圖形突出的圖片[7]。
2.2 特征提取
 完成圖片的預處理后,即可進行圖片的特征提取。由于是規則的幾何圖形,因此所要提取的特征信息即為幾何圖形的周長、面積和頂點的個數。計算圖形周長和頂點個數時用的是Laplace邊緣檢測算法。Laplace算法有兩類:正相Laplace算法和反相Laplace算法,兩者都反映了一類邊緣,但其所用模板和參數不同[8]。假設一個3×3鄰域內的像素分布如圖2所示,設LP、LN分別為正相Laplace算法和反相Laplace算法的處理結果,其計算公式如下:
 LP=[f(A0)+f(A1)+…+f(A7)]-8f(C)
 LN=8f(C)-[f(A0)+f(A1)+…+f(A7)]
 這兩個公式也可用卷積模板來表示,如圖3(b)、(c)所示。由圖可知,邊緣檢測模板中各因子之和為0,其物理意義是:在圖像的均勻區域處理輸出為0,在像素數據有突變的地方則輸出較大的值。以此來檢測圖像中的邊緣。

 用Laplace邊緣檢測算法對幾何圖形進行檢測完成后,累加邊界點的個數即為幾何圖形的周長。然后再對這些邊界點進行進一步區分,找出頂點。檢測幾何圖形的面積則要簡單得多,只要統計出有效檢測區域內所有符合條件的點即為幾何圖形的面積。實現這個過程的部分源代碼為:
//計算周長、面積和頂點
  int x,y,sum=0;
  for(i=0;i<w;i++)
  {  for(j=0;j<h;j++)
       {
color=Image1->Picture->Bitmap->Canvas->
                         Pixels[i][j];
 if(GetRValue(color)==0)
  { mianji++; //計算面積
    if(Laplace(GetRValue(color)))
      zhouchang++; //計算周長
    if(Dingdian(GetRValue(color)))
      dingdian++; //計算頂點
   }
       }
  }
2.3 分析判斷
 在完成圖像的預處理和特征提取之后,便可以開始根據特征信息對幾何圖形的形狀進行判斷。在這個過程中首先判斷幾何圖形是否為圓形,即判斷這個圖形周長的平方與面積的比是否在規定的范圍內。如果在,則為圓形;否則,再判斷頂點的個數,等于3即為三角形,等于4即為矩形。在識別幾何圖形形狀的同時還可輸出這個圖形的周長和面積。因為規則幾何圖形的周長、面積和頂點坐標已知,故可計算出邊長、形心等參數。實現這個過程的部分源代碼為:
//根據周長的平方與面積的比以及頂點的個數確定圖形的形狀
   float  ratio;
ratio=(zhouchang*1.0*zhouchang*1.0)/mianji*1.0;
//判斷是否為圓形
if(ratio>=9&&ratio<=15)
   Edit1->Text="圓形或橢圓";
else
   {
//判斷是否為三角形
         if(dingdian==3)
     Edit1->Text="三角形";
//判斷是否為矩形
     if(dingdian==4)
     Edit1->Text="矩形";
   }
//輸出面積和周長
   Edit2->Text=mianji;
   Edit3->Text=zhouchang;
    基于上述的基本原理和實現過程,利用C++ Builder6.0編寫軟件,幾何圖形識別結果如圖4所示[9]。從識別結果可知,本文所述的方法可以快速而準確地識別出圖像中的規則幾何圖形,從而證明了該法的可行性和正確性。

 與傳統的檢測方法相比,本文提出的基于幾何圖形周長、面積和頂點個數的檢測方法可以很好地識別出幾何圖形的形狀,并能給出邊長、形心等其他參數,且識別速度快、準確率高。但這種識別方法也存在一些不足,它的識別對象只是幾種簡單的規則幾何圖形,無法識別復雜的不規則幾何圖形。這些不足還有待于在日后的研究中不斷克服,以使這種檢測方法能夠更加穩定實用。
參考文獻
[1] 顧筠.基于霍夫變換和幾何特性的圖像識別方法[J].自動化博覽,2002,8(1):86-88.
[2] 邱桑敏.一種快速霍夫變換算法[J].計算機工程,2004,1(2):148-150.
[3] 李海軍,寧玉富.規則幾何圖形的識別分析與算法實現[J].常熟理工學院學報,2007,4(4):111-115.
[4] 董莉,王玲,江沸波.一種基于醫學圖像中感興趣區域的數字水印算法[J].電子技術應用,2007,33(1):136-139.
[5] 高士忠,盧易楓,蔡振偉,等.基于灰度共生矩陣的簾子布疵點檢測研究[J].電子技術應用,2008,34(1):117-119.
[6] 劉玉紅,熊興良.圖像的帶參二值化理論和技術及其應用[J].計算機應用研究,2008,25(1):277-280.
[7] 魯志波,王鑫,胡國恩.結合結構張量和Wiener濾波的圖像去噪算法[J].計算機科學,2007,34(7):229-231.
[8] 劉佳,肖曉明,彭駿馳.基于改進的Laplacian算子的圖像邊緣檢測[J].電子技術應用,2006,32(11):31-32.
[9] 蒙祖強,龔濤.C++ Builder程序員成長攻略[M].北京:中國水利水電出版社,2007.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产视频一区在线观看一区免费| 伊人成综合网伊人222| 久久九九免费视频| 亚洲在线观看视频| 一本久久综合| 亚洲精品中文字幕在线| 久久精品国产99| 欧美在线视频网站| 亚洲欧美日韩一区二区| 亚洲天堂久久| 亚洲午夜久久久| 一区二区三区.www| 一本色道久久综合狠狠躁篇怎么玩 | 在线成人性视频| 欧美亚洲免费高清在线观看| 亚洲曰本av电影| 亚洲无玛一区| 亚洲欧美日韩在线一区| 亚洲欧美伊人| 性久久久久久久久久久久| 午夜精品久久久久久久| 欧美一区亚洲二区| 亚洲第一中文字幕| 亚洲片在线观看| av成人激情| 亚洲在线免费视频| 午夜精品久久久久久久久久久| 亚洲欧美在线免费观看| 久久国产欧美| 久久夜色精品一区| 欧美成人免费小视频| 欧美日本韩国| 国产精品欧美精品| 韩国一区二区在线观看| 亚洲丁香婷深爱综合| 亚洲日本成人在线观看| 中文国产亚洲喷潮| 欧美影院成年免费版| 亚洲国产精选| 中文一区在线| 久久成人精品无人区| 噜噜噜久久亚洲精品国产品小说| 欧美韩日一区二区三区| 欧美性开放视频| 国产一区白浆| 亚洲精品久久久久中文字幕欢迎你| 亚洲日本一区二区| 亚洲专区在线| 亚洲精选在线观看| 先锋影院在线亚洲| 久久综合999| 国产精品初高中精品久久| 国产日本欧美一区二区三区| 亚洲国产精品久久久久秋霞不卡 | 亚洲国产精品久久人人爱蜜臀| 99在线精品视频| 欧美一激情一区二区三区| 亚洲国产欧美日韩精品| 亚洲天堂偷拍| 久久婷婷综合激情| 欧美视频在线不卡| 伊大人香蕉综合8在线视| 一区二区三区免费在线观看| 久久国产天堂福利天堂| av不卡在线| 久久久蜜桃精品| 欧美特黄视频| 亚洲第一页在线| 亚洲在线视频免费观看| 亚洲欧洲精品一区二区精品久久久 | 欧美区二区三区| 国产美女精品人人做人人爽| 最新国产拍偷乱拍精品 | 久久精品国产清自在天天线| 99伊人成综合| 久久精品夜色噜噜亚洲a∨| 欧美精品一区二区三区四区| 国产视频观看一区| 亚洲看片网站| 亚洲大黄网站| 欧美综合国产| 欧美午夜不卡视频| 伊人天天综合| 午夜亚洲视频| 午夜激情一区| 欧美日韩一区二区在线视频| 在线观看成人一级片| 亚洲一区综合| 亚洲图片欧洲图片日韩av| 欧美wwwwww| 国产在线不卡| 午夜精品一区二区三区电影天堂| 一区二区免费在线播放| 欧美1区3d| 国产综合色在线视频区| 亚洲一区国产视频| 亚洲天堂成人在线视频| 欧美精品久久久久久久久久| 一区二区三区在线看| 午夜精品久久久久久| 亚洲欧美日韩精品久久| 欧美日韩日本国产亚洲在线| 亚洲国产精品一区在线观看不卡| 久久精品国产精品亚洲精品| 欧美在线观看日本一区| 国产精品亚洲一区二区三区在线| av成人黄色| 亚洲图片欧美一区| 欧美日韩高清在线| 亚洲激情第一页| 欧美中文在线观看| 久久国产天堂福利天堂| 国产欧美精品一区二区色综合| 在线亚洲欧美| 亚洲免费在线播放| 欧美视频在线一区二区三区| 亚洲伦理在线免费看| 亚洲美女色禁图| 欧美激情一区二区| 亚洲精品国产精品国自产在线| 亚洲日韩第九十九页| 欧美成年人视频网站欧美| 在线观看欧美黄色| 亚洲人人精品| 欧美成人免费视频| 亚洲国产视频一区| 日韩视频在线观看| 欧美精品一区二区三区蜜桃| 日韩视频一区二区三区在线播放免费观看| 99精品国产高清一区二区| 欧美绝品在线观看成人午夜影视| 亚洲国产天堂久久综合网| 日韩一区二区精品在线观看| 欧美日韩国产免费观看| 日韩午夜免费视频| 亚洲欧美日韩国产综合在线| 国产日本亚洲高清| 久久福利精品| 欧美电影免费观看高清| 亚洲精选91| 亚洲欧美日本另类| 国产一区美女| 亚洲欧洲一区二区在线观看| 欧美日韩国产页| 一区二区不卡在线视频 午夜欧美不卡在| 亚洲尤物视频网| 国产日韩综合一区二区性色av| 亚洲国产99精品国自产| 欧美精品激情blacked18| 在线综合视频| 久久都是精品| 亚洲国产高清高潮精品美女| 在线视频亚洲一区| 国产精品欧美日韩一区| 欧美制服丝袜第一页| 欧美精品亚洲| 午夜精品免费视频| 欧美成人精品不卡视频在线观看| 亚洲美女尤物影院| 午夜久久黄色| 狠狠v欧美v日韩v亚洲ⅴ| 日韩小视频在线观看| 国产精品免费一区二区三区在线观看 | 欧美视频在线一区二区三区| 亚洲欧美视频一区| 免费在线成人| 亚洲少妇中出一区| 久久天堂av综合合色| 亚洲毛片在线观看.| 欧美主播一区二区三区| 亚洲高清在线观看| 香蕉亚洲视频| 亚洲国产一区在线| 欧美在线视频一区二区| 亚洲激情第一页| 久久激情中文| 亚洲毛片网站| 久久久综合网| 中文国产成人精品久久一| 免费看精品久久片| 亚洲夜间福利| 欧美激情一区二区三区全黄| 亚洲欧美制服另类日韩| 欧美精品日韩综合在线| 香蕉国产精品偷在线观看不卡| 欧美日韩精品一本二本三本| 久久er精品视频| 国产精品h在线观看| 最新成人在线| 国产日韩亚洲| 亚洲天堂av高清| 亚洲国产另类精品专区 | 亚洲欧美福利一区二区| 欧美高清视频一区| 香蕉乱码成人久久天堂爱免费 | 亚洲性视频网站| 欧美乱大交xxxxx| 亚洲大片免费看| 国产午夜精品视频| 亚洲欧美日韩国产综合|