《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > 一種規則幾何圖形的計算機識別方法
一種規則幾何圖形的計算機識別方法
來源:微型機與應用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亚洲国产精品_日韩亚洲一区二区
亚洲人成网站777色婷婷| 香蕉乱码成人久久天堂爱免费| 一区二区国产在线观看| 亚洲国产一区二区三区a毛片 | 欧美午夜理伦三级在线观看| 欧美成人一品| 女同一区二区| 欧美成人日韩| 欧美成人精品| 欧美精品一区二区三区在线播放| 欧美激情精品久久久久久大尺度| 欧美国产一区二区三区激情无套| 免费成人美女女| 暖暖成人免费视频| 欧美国产精品v| 欧美精品性视频| 欧美日本一道本| 欧美日韩一区二区三区四区在线观看| 欧美日韩一区在线视频| 国产精品二区在线| 国产精品视频久久| 国产视频一区在线| 黄色成人av网站| 亚洲国产欧美另类丝袜| 91久久精品一区| 亚洲精选在线| 亚洲一区自拍| 久久成人一区二区| 亚洲人成7777| 99精品视频免费在线观看| 亚洲午夜av| 欧美专区在线观看| 麻豆成人av| 欧美日韩情趣电影| 国产精品毛片a∨一区二区三区|国| 国产精品久久久99| 国产三级欧美三级| 亚洲成人资源| 一区二区三欧美| 欧美在线视频免费播放| 亚洲精品乱码久久久久久久久| 一区二区久久久久久| 亚洲综合视频在线| 久久嫩草精品久久久精品一 | 欧美福利小视频| 欧美婷婷六月丁香综合色| 国产麻豆9l精品三级站| 尤物九九久久国产精品的特点| 91久久久久久国产精品| 亚洲一区二区三区影院| 亚洲国产精品v| 亚洲一区二区精品在线| 久久久久国产精品厨房| 欧美理论电影在线观看| 国产精品日韩在线播放| 黄色一区三区| 一本久道久久综合婷婷鲸鱼| 欧美中文字幕在线视频| 一区二区三区成人| 久久久久久久精| 欧美日韩免费看| 好吊色欧美一区二区三区四区| 日韩一级免费观看| 久久精品欧美日韩| 亚洲在线观看免费视频| 免费日韩成人| 国产精品无码专区在线观看 | 午夜在线视频观看日韩17c| 最新日韩在线| 欧美一乱一性一交一视频| 男人插女人欧美| 国产欧美精品| 亚洲精选国产| 久久精品视频免费播放| 亚洲一区二区精品视频| 欧美暴力喷水在线| 国产欧美日韩综合| 亚洲美女av网站| 亚洲国产mv| 欧美夜福利tv在线| 欧美日韩精品一区二区三区| 国产在线国偷精品产拍免费yy| 夜夜爽夜夜爽精品视频| 亚洲精品视频一区二区三区| 久久国产精品72免费观看| 欧美日韩在线直播| 亚洲国产精品尤物yw在线观看 | 久久久av水蜜桃| 国产精品久久久久久久午夜 | 欧美综合国产| 性亚洲最疯狂xxxx高清| 欧美日韩国产页| 亚洲国产国产亚洲一二三| 羞羞漫画18久久大片| 亚洲一区欧美二区| 欧美另类99xxxxx| 亚洲国产美女久久久久| 久久激情网站| 久久精品人人做人人爽电影蜜月| 国产精品久久久999| 亚洲毛片在线观看| 99国产精品久久久久久久久久| 美女精品自拍一二三四| 国产一区二区三区精品欧美日韩一区二区三区 | 一区二区高清在线观看| 99国内精品久久| 欧美激情综合色综合啪啪| 在线不卡a资源高清| 亚洲第一主播视频| 久久久亚洲成人| 国产综合久久久久影院| 欧美影院在线播放| 久久国产天堂福利天堂| 国产日产高清欧美一区二区三区| 亚洲一级网站| 欧美亚洲一区在线| 国产日韩欧美一区二区| 午夜精品免费视频| 久久国产66| 国外成人在线视频网站| 亚洲高清视频的网址| 久久综合电影| 亚洲第一偷拍| 日韩视频免费在线| 欧美日韩直播| 亚洲一区久久| 欧美淫片网站| 国产日韩欧美一区在线 | 欧美顶级大胆免费视频| 亚洲国产美女| 一区二区欧美精品| 国产精品成人久久久久| 亚洲一区二区久久| 欧美在线免费看| 国内精品视频久久| 亚洲人成网站在线观看播放| 欧美成人r级一区二区三区| 亚洲片区在线| 亚洲图片欧美一区| 国产伦精品一区二区三区照片91| 欧美一区二区三区在线| 美女91精品| 日韩网站在线观看| 亚洲欧美激情视频| 国产亚洲精品久久久久久| 亚洲国产精品国自产拍av秋霞| 蜜桃av一区| 一区二区三区高清视频在线观看| 欧美在线关看| 亚洲二区视频| 亚洲一区免费在线观看| 国产一区二区三区高清在线观看| 亚洲高清视频在线| 欧美日韩卡一卡二| 亚洲欧美日韩久久精品| 欧美暴力喷水在线| 亚洲图片在线| 久久视频在线视频| 日韩系列欧美系列| 欧美在线观看一区| 亚洲国产综合视频在线观看| 亚洲网址在线| 国一区二区在线观看| 日韩一级黄色片| 国产日韩欧美精品在线| 亚洲人成人一区二区三区| 国产精品成人国产乱一区| 久久成人这里只有精品| 欧美日韩精品免费看| 欧美在线看片| 欧美日韩视频第一区| 久久福利精品| 欧美日韩一区二区三区在线| 欧美一区二区三区四区夜夜大片| 欧美另类综合| 久久精品国产99精品国产亚洲性色| 欧美日韩精品三区| 久久精品人人做人人爽电影蜜月| 欧美日韩视频在线| 亚洲成色777777女色窝| 国产精品久久久久久久9999| 亚洲级视频在线观看免费1级| 国产精品看片你懂得| 亚洲三级网站| 国产免费观看久久| aⅴ色国产欧美| 国内久久婷婷综合| 亚洲欧美激情一区二区| 亚洲茄子视频| 另类天堂视频在线观看| 午夜免费日韩视频| 欧美日韩在线播放一区二区| 亚洲观看高清完整版在线观看| 国产精品久久999| 99精品国产热久久91蜜凸| 好吊日精品视频| 性欧美长视频| 一区二区三区黄色| 欧美国产激情| 亚洲国产精品99久久久久久久久|