999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于MATLAB的靶紙圖像識別研究

2016-12-19 15:38:01王蔚揚丁嘉月汪鵬洪盧正勇
計算機時代 2016年11期

王蔚揚 丁嘉月 汪鵬洪 盧正勇

摘 要: 針對射擊比賽中需要實時并且準確地對射擊結果進行檢測輸出,提出了一種基于MATLAB函數工具箱的靶環數識別方案。采用數碼相機拍攝靶紙圖像,利用基于MATLAB的圖像處理算法對其進行處理從而得出彈著點環數。對靶紙圖像進行灰度轉換、中值濾波、二值化等預處理,并采用Sobel算子進行邊緣提取,減少后續圖像處理的數據量。通過靶紙圓環的對稱特征,先提取出圓心,將Hough變換降維來求內圓環參數,再結合圖像差影法以及形態學處理對彈孔識別定位。實驗發現,上述圖像處理算法有較快的速度和較好的準確度。

關鍵詞: MATLAB; 預處理; Hough變換; 降維; 形態學

中圖分類號:TP391.41 文獻標志碼:A 文章編號:1006-8228(2016)11-17-04

Research on the image recognition of target sheet with MATLAB

Wang Weiyang, Ding Jiayue, Wang Penghong, Lu Zhengyong

(School of Imformation & Electronic Engineering, Zhejiang Gongshang University, Hangzhou, Zhejiang 310018, China)

Abstract: According to the shooting competition when a real-time and accurate detection of the shooting results is required, a research on image recognition of target sheet with MATLAB is presented in this paper. An image processing algorithm based on MATLAB is used in order to analyse the ring number of impact point on the target sheet captured by digital camera. Grayscale conversion, median filtering, and binariztion of the target sheet image are used in the image pretreatment. Sobel operator is used to extract image edge, so the amount of computation is dramatically reduced. And the bullet hole is recognized and located by using improved Hough transform, image subtraction method and morphological algorithm. The experimental results show that the image processing algorithm has fast speed and good accuracy.

Key words: MATLAB; pretreatment; Hough transform; mension reduction; morphology

0 引言

隨著科技的發展,射擊比賽時采用自動報靶系統,將會越來越普遍。這種方式不僅能減少人力物力支出、提高報靶效率,還能減小由于人為帶來的不確定因素。目前已有不少單位研究出多種自動報靶系統[1-4]。基于機器視覺的自動報靶系統,應用環境要求特殊,還未得到普及[1-4]。本文基于MATLAB函數工具箱實現靶紙彈孔檢測的數字化方法,在射擊時對靶紙圖像進行采集,通過基于MATLAB的圖像處理技術對靶紙圖像進行處理分析,并模擬圖像進行成績輸出。

1 靶紙圖像采集讀取

靶紙圖像采集可以有多種方式,本實驗采用最高像素值為300萬的數碼相機拍攝,圖像采集簡便,便于推廣應用。MATLAB中提供的imread()函數用于實現圖像的讀取操作,可讀取JPG、TIF、GIF、HDF、XWD和CUR等多種圖像格式。調用該函數后將得到一個存儲圖像數據的矩陣,后期對圖像的各種處理正是基于該數據矩陣來完成。

2 靶紙圖像預處理[1]

2.1 圖像灰度化

數碼相機拍攝的圖像為彩色圖像,圖像中每個像素都包含有R(紅色)、G(綠色)、B(藍色)三種基色分量信息,每種基色分量均需要占用八位來表示基色強度,數據量較大。為減輕計算機工作量,去除掉部分無用信息,將圖像進行灰度化處理,減少后續處理分析耗時。

在MATLAB中采用rgb2gray()函數對圖像進行灰度化處理,該函數中三基色的權重系數取值為(0.299,0.587,0.114)[5]。

2.2 圖像增強

對靶紙圖像增強是為了突出圖像中的有用信息,同時對噪聲等無用信息進行一定的消除,類似信號處理中的濾波器。圖像噪聲常常表現為孤立像素點,如果不去除噪聲,會對邊緣檢測、圖像變換以及后續的彈孔定位帶來影響。MATLAB中提供了平滑濾波器、中值濾波器以及銳化濾波器這三種圖像增強濾波器[6]。平滑濾波器本質上類似低通濾波器,只對信號的低頻部分有很好地選通性。靶紙圖像中對屬于高頻部分的圓環邊緣提取十分重要,采用平滑濾波器將對其造成破壞。銳化濾波器有時會導致輸出圖像灰度值出現負值,還需要進行相應灰度轉換,增加處理工作量。本文采用中值濾波器對靶紙圖像進行濾波處理,能有效去除類似斑點噪聲及椒鹽噪聲的孤立像素點,同時較好地保留了圖像的邊緣信息[2]。這是一種非線性的去噪方法,其基本原理是在圖像中一個像素周圍確定一個鄰域,以該鄰域中各像素點灰度值的中值來代換該像素點自身的灰度值[4]。

MATLAB中提供medfilt2()函數用于對圖像信息進行中值濾波,二維濾波窗口可以為方形、圓形、菱形等,由圖像像素點構成,可在函數中設置窗口形狀,默認為像素點的方形窗口[5]。

2.3 靶紙圖像二值化

由于對靶紙圖像的處理主要是對圓環和彈孔的識別提取,對于圖像灰度值并沒有特定的要求,所以進一步對圖像二值化以去除無用信息。所選取的閾值需要能夠有效保留圖像特征,保證后續處理的可靠性。對灰度化后的靶紙圖像繪制灰度直方圖,如圖1所示。

從直方圖看出灰度值集中在Y<30&Y>220范圍內,其中Y<30對應靶紙圖像中黑色背景及黑色圓環部分,Y>220對應白色背景以及白色圓環部分,所以閾值TG取值應在30/255

3 基于Hough變換的靶心定位

3.1 Hough變換圓檢測原理[2,7]

Hough變換將二維圖像平面轉換為三維參數空間,采用類似“投票”模式的判斷方法。三個參數值分別為圓心的行坐標a,圓心列坐標b,以及半徑r。對于圖像平面中的任何一個像素點(x,y)都要在三維參數空間內進行遍歷運算,若運算結果滿足關系式,則對應三維空間中的參數點票數加一。完成運算后,三維空間中“票數”最多(或滿足一定數量)的參數點,其參數即為檢測到的圓所對應圓心坐標以及半徑值。Hough變換檢測圓三個參數間的一般關系如下式:

3.2 用于靶紙圓環提取的Hough變換降維算法

從Hough變換原理可知,其運算過程中將會有大量的時空消耗,減少運算維度和參與運算的像素點數可以提高Hough變換效率。前期已對靶紙圖像進行預處理得到圖像的二值圖,減少了參與Hough變換的像素點數。接著,采用Sobel算子對靶紙圓環進行邊緣提取。圖像邊緣是圖像局部特征不連續的表現,出現在兩個不同圖像區域的交界,常常是灰度突變的結果,在灰度突變處進行微分運算將產生高值[8]。MATLAB中通過調用edge()函數進行邊緣提取,函數計算結果為和輸入圖像一樣大小的二值圖。邊緣提取對圖像的特征信息進行提取,進一步減少Hough變換算法的工作量,減少運算時間。

由于靶紙圓環均為同心圓環,只存在一個位置固定的圓心。經邊緣提取后的圖像是由像素點組成的多個同心圓環,圓環特征較為明顯,考慮降低Hough變換的計算維度來提高計算速度[9],先進行靶紙圓心的提取,將圓心橫縱坐標分別提取。首先是橫坐標的提取,以平行于X軸的掃描線,自圖像頂部向下縱向掃描。此時靶紙上圓環邊緣點值為“1”,背景為“0”,因此每向下掃描一行,記錄該行i中間距最大的兩個“1”值像素點的橫坐標分別為、,直至掃描完圖像。接著,以平行于Y軸的掃描線,自圖像左邊向右橫向掃描,記錄像素點縱坐標分別為ali、a2i,直至掃描完圖像。若某行只存在一個“1”值點,則跳過該行。距離最遠的兩“1”值點為最外圈圓環上的點,坐標中值(ami,bmi)即為對應圓心坐標,計算公式如下:

由于邊緣提取后的圓環邊緣不完全連續,且可能存在彈孔邊緣信息以及噪聲點,若以文獻[10]中盡量多弦交點的簡單統計平均來計算坐標,將引入上述影響因素,導致圓心定位出現誤差。因此,采用類似Hough變換證據積累的判斷方法,對每行/列掃描得出的中值坐標采取投票的積累方式,出現相同的中值點坐標時則對該坐標對應“票數”Na[ami]加1,當遍歷完整幅圖像時,找出“票數”最多的中值點坐標ammax。此處,可設置一個閾值Ta,考慮到圖像像素點的離散化以及邊緣提取帶來的影響,將中值坐標滿足

內的對應點ami求和,接著求取平均值,此平均值記為圓心坐標a。同理得b。通過這種方法可以有效減少非最外圈圓環上弦交點即錯誤點或者噪聲點的干擾的影響。MATLAB中調用sum()函數用于求和,調用max()函數用于求取最大值。坐標關系式如下:

上述算法的部分MATLAB代碼如下:

%BW為邊緣提取后靶紙圖

[rows,cols]=find(BW); %搜索1值像素點

mount=size(rows); number=mount(1);

i=1; j=1;

while(i

xjd(j,1)=rows(a);

while(i

if(cols(i)==cols(i+1))

xjd(j,2)=rows(i+1);i=i+1;

else

i=i+1; j=j+1; break;

end

end

end

number=length(xjd); Na=zeros(1,number);

for n=1:number%for循環計算中值及票數

zz(n)=round((xjd(n,1)+xjd(n,2))/2);

Na(zz(n))=Na(zz(n))+1;

end

[amax,id]=max(Na); %找出票數最多中值點

a=(Na(id)*id+Na(id-Ta)*(id- Ta)+Na(id+Ta)*(id+Ta))/

sum(Na(id-Ta:id+Ta))%基于閾值Ta計算均值得坐標a

根據機器視覺中的ROI(Region Of Interest)理論,恰當選取ROI能有效減少圖像運算的計算量[11]。根據先驗知識圖像采集時圓心處于圖像中部區域,將待驗證像素點所處范圍設定為圖像中部的矩形區域,該矩形區域邊長設為圖像邊長的1/4,由此進一步減少參與運算的像素點。本算法將圓的參數方程寫為極坐標形式:

已知圓心坐標,根據先驗知識設定r的可能取值范圍,遍歷計算感興趣區域中的邊緣點,采用上述Hough變換證據積累的方法得到r[9],且設定一個閾值Tr,減少離散數據帶來的誤差。閾值的設定使得對于一些存在干擾的靶紙圖像也能有效地進行圓環檢測,例如靶紙存在一定形變或者是子彈擊中內圓環帶來的干擾,提高了算法的魯棒性。

4 基于圖像差影法的彈孔定位[12]

4.1 圖像差影算法[2,4]

本文在彈孔定位的分析上,將彈孔視為一個運動目標,每次射擊后彈著點都不同,近似為目標的運動過程。運動目標的檢測算法有幀間差分法、背景差分法以及基于光流場的檢測方法,圖像差影法是利用當前圖像與初始圖像進行減運算來提取目標的一種檢測方法[13]。首先,采集射擊前的靶紙圖像以及本次射擊后的靶紙圖像,將兩幅圖像視為視頻中的前后兩幀圖像,接著采用幀間差分法獲得彈孔信息,并將彈孔圖像二值化處理。

4.2 形態學濾波處理[3]

提取的彈孔圖像可能會包含噪聲,將會導致彈孔定位出現誤差,對該圖像進行先腐蝕后膨脹處理的開運算[5]。在MATLAB中調用imerode()函數對圖像進行腐蝕操作,去除圖像中小而無意義的噪聲像素點;接著調用imdilate()函數對圖像進行膨脹操作,使彈孔區域恢復至原始大小,即消除由于腐蝕對彈孔面積帶來的影響。兩個函數均采用strel()函數定義一個結構元素,其在形態學中的作用好比濾波器中的濾波窗口,該函數支持創建線形、矩形、方形、球形和自定義類型等的結構元素。

實現彈孔提取及定位的部分MATLAB代碼如下:

b=imread('current.jpg'); %靶紙讀取

B=I-b; %射擊前后的靶紙圖像差影

B=im2bw(B,T); %基于閾值T進行二值化

subplot(221),imshow(B)

se=strel('square',2); %定義方形結構元素

imeBW=imerode(B,se); %圖像腐蝕

subplot(222),imshow(imeBW)

imdBW=imdilate(imeBW,se); %圖像膨脹

subplot(223),imshow(imdBW)

[row,col]=find(imdBW==1); %搜索彈孔

x=min(col); w=max(col)-x;

y=min(row); h=max(row)-y;

subplot(224),imshow(imdBW)

hold on; %圖像保持

rectangle('Position',[x,y,w,h],'LineWidth',1,'EdgeColor',

'w'); %框彈孔區域

5 實驗結果

仿真實驗在2.3GHz,RAM為4GB的計算機上進行,采用MATLAB8.2語言編寫代碼。本次實驗采用靶紙滿環11環,且不同環數圓環半徑差相同。實驗結果如圖2、圖3和圖4所示。

求得彈著點環數及誤差。其中(a,b)為環心坐標,(xd,yd)為彈孔坐標,r為中心圓環半徑,Hj為環數計算值,Sj為人工計算值(采用尺規法測量),ρ為環數相對誤差。計算結果若為負數,則判為脫靶。靶紙測試結果如表1所示。

6 總結

基于MATLAB函數工具箱的圖像處理,函數調用方便,程序設計高效。首先通過圖像預處理去除無用信息,接著將Hough變換算法降維進行內圓環的定位,最后搜索定位彈孔,求出彈著點坐標,方案適用于圓環完整的靶紙識別。計算出的射擊環數相比人工計算誤差在0.1環以內,且計算速度較快。進一步,可考慮靶紙形變帶來的影響或將方案轉換為硬件系統以提高實時處理性能,可以應用于射擊比賽中的自動報靶系統,免去人工報靶可能帶來的不確定性因素,提高比賽的公正度和效率。

參考文獻(References):

[1] 周曉偉.基于圖像處理的自動報靶系統研究[D].中北大學碩

士學位論文,2011.

[2] 陳海萍.基于機器視覺技術的模擬射擊訓練系統研究與設計[D].

廈門大學碩士學位論文,2012.

[3] 羅真.基于圖像處理的自動報靶系統設計[D].中南大學碩士

學位論文,2014.

[4] 謝殿強.基于ARM-Linux機器視覺的軍用自動報靶系統的

研究[D].山東大學碩士學位論文,2009.

[5] 周品.MATLAB圖像處理與圖形用戶界面設計[M].清華大學

出版社,2013.

[6] 葉雯.基于MATLAB的圖像去噪研究[J].計算機時代,

2015.6:10-12

[7] 陳小艷,王強,李柏林.改進的Hough變換檢測圓方法[J].計算

機系統應用,2015.8:197-201

[8] 蔣先剛.數字圖像模式識別工程軟件設計[M].中國水利水電

出版社,2008.

[9] 趙京東.用兩步Hough變換檢測圓[J].計算機應用,2008.7:

1761-1763

[10] 孫蓉蓉.圖像處理技術在自動報靶系統中的應用研究[D].南

京理工大學碩士學位論文,2006.

[11] 孫國棟,趙大興.機器視覺檢測理論與算法[M].科學出版社,

2015.

[12] 崔亞琳.基于計算機視覺的射箭精確自動報靶系統研究[J].

火控雷達技術,2015.12:27-30

[13] 李孟歆,范靜靜,張穎等.一種基于多重判別的運動目標檢

測算法[J].沈陽建筑大學學報(自然科學版),2013.4:750-756

主站蜘蛛池模板: 超碰91免费人妻| 免费看美女自慰的网站| 国产精品成人AⅤ在线一二三四| 四虎在线观看视频高清无码| 日韩精品成人在线| 国产91特黄特色A级毛片| 在线播放91| 91黄视频在线观看| 亚洲欧美日韩动漫| 国产精品第一区在线观看| 精品三级网站| 国产精品视频导航| 久久精品人人做人人爽| 日韩成人高清无码| 日韩无码黄色网站| 色综合a怡红院怡红院首页| 91久久天天躁狠狠躁夜夜| 国产激情第一页| 亚洲人成网站18禁动漫无码 | 手机在线看片不卡中文字幕| 试看120秒男女啪啪免费| 国产在线无码一区二区三区| 亚洲av无码人妻| 99久久免费精品特色大片| 亚洲成AV人手机在线观看网站| 999精品在线视频| 亚洲人成色在线观看| 国产乱子伦精品视频| 亚洲人成色在线观看| 色综合综合网| 久久青青草原亚洲av无码| 免费黄色国产视频| 日韩第八页| 噜噜噜久久| 男女性色大片免费网站| 欧美午夜久久| 成人国产精品2021| 国产第一福利影院| 亚洲三级片在线看| 日韩黄色精品| 欧洲极品无码一区二区三区| 欧美中文字幕在线视频| 欧美成人怡春院在线激情| 精品伊人久久久香线蕉| 亚洲一区二区三区国产精华液| 欧美日韩亚洲国产| 欧美成人国产| 国产美女免费网站| 午夜毛片免费观看视频 | 亚洲婷婷在线视频| 国产精品美女免费视频大全| 青青极品在线| 波多野结衣国产精品| 午夜成人在线视频| 欧美在线一二区| 色欲综合久久中文字幕网| 亚洲第一视频网| 精品無碼一區在線觀看 | 91无码国产视频| 99热免费在线| 中文字幕日韩欧美| 国产欧美日韩18| 久久精品丝袜高跟鞋| 亚洲中文无码h在线观看| 99尹人香蕉国产免费天天拍| 无码人妻免费| 国产99在线| 久久国产精品嫖妓| 国产成人精品亚洲77美色| 国产福利免费视频| 国产www网站| 九色免费视频| 欧美 国产 人人视频| 中文字幕 91| 亚洲天堂777| 国产欧美日韩va另类在线播放 | 色综合中文字幕| 婷婷色丁香综合激情| 亚洲国产看片基地久久1024| 久久久久无码国产精品不卡| 亚洲男人在线天堂| 极品尤物av美乳在线观看|