機(jī)器視覺技術(shù)與應(yīng)用實(shí)戰(zhàn)-圖像生產(chǎn)與表示和圖像的基本變換_第1頁
機(jī)器視覺技術(shù)與應(yīng)用實(shí)戰(zhàn)-圖像生產(chǎn)與表示和圖像的基本變換_第2頁
機(jī)器視覺技術(shù)與應(yīng)用實(shí)戰(zhàn)-圖像生產(chǎn)與表示和圖像的基本變換_第3頁
機(jī)器視覺技術(shù)與應(yīng)用實(shí)戰(zhàn)-圖像生產(chǎn)與表示和圖像的基本變換_第4頁
機(jī)器視覺技術(shù)與應(yīng)用實(shí)戰(zhàn)-圖像生產(chǎn)與表示和圖像的基本變換_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

圖像生產(chǎn)與表示對(duì)點(diǎn)光源照射的反射圖像是什么?圖象是人類視覺的基礎(chǔ),是自然景物的客觀反映。對(duì)于自然界中的物體,其反射光或者透射光可通過不同的成像設(shè)備進(jìn)行檢測(cè)。機(jī)器視覺中的圖像分為2D圖像和3D圖像2.1.1物體成像攝像機(jī)感光元件發(fā)生感光反射,捕捉物體表面光線。數(shù)字圖象的產(chǎn)生3D場(chǎng)景經(jīng)過光學(xué)器件在圖像傳感器靶面上成像,感光器件把收到的光能轉(zhuǎn)換成電荷,經(jīng)過模數(shù)轉(zhuǎn)換,再進(jìn)行顯示處理就可顯示圖象,如圖所示。數(shù)字圖像的產(chǎn)生數(shù)字相機(jī)工作原理常見產(chǎn)生數(shù)字圖像的設(shè)備有CCD/CMOS攝像機(jī):CCD電耦合器件,CMOS互補(bǔ)金屬氧化物半導(dǎo)體。2.1.2圖象量化與圖像灰度灰度圖是指只含亮度信息,不含色彩信息的圖像。就像我們平時(shí)見到的亮度由暗到明的黑邊照片,變化是連續(xù)的。因此要表示灰度圖,就需要把亮度值進(jìn)行量化。通常劃分成0到255共256個(gè)灰度等級(jí)(位深=8),0表示全黑,255表示全白(最亮)?;叶葓D使用比較方便,首先GRB的值都一樣,其次是圖像數(shù)據(jù)即調(diào)色板索引值,也就是實(shí)際的RGB的亮度值。另外,因?yàn)槭?56色的調(diào)色板,所以圖像數(shù)據(jù)中一個(gè)字節(jié)代表一個(gè)像素。如果是彩色的256色圖,圖像處理后有可能會(huì)產(chǎn)生不屬于這256種顏色的新顏色。因此,機(jī)器視覺一般采用灰度圖。本書中如果不特殊說明,都是針對(duì)256級(jí)灰度圖的。BMP格式的文件中并沒灰度圖這個(gè)概念,但可用256色的調(diào)色板表示灰度:即令每一項(xiàng)的RGB值都相同,即R=G=B,這樣灰色圖就可以用256色圖來表示了。2.1.3數(shù)字圖像格式圖像經(jīng)過數(shù)字化后,圖像數(shù)據(jù)必須采集一定格式存儲(chǔ)成圖像文件才可能顯示、處理及傳送。圖像文件需包含的主要內(nèi)容有:描述圖像各種物理特征的數(shù)據(jù),如圖像寬度、亮度;顏色定義:如何描述圖像色彩,如描述一個(gè)像素所需位數(shù)。常見圖像格式有很多種,:如BMP、TIFF、JPEG、MPEG等等,但機(jī)器視覺所用的圖像一般都是經(jīng)壓縮的原始數(shù)據(jù),本書我們只討論BMP格式。BMP格式圖像BMP圖像文件格式是Microsoft為其Windows環(huán)境設(shè)計(jì)的標(biāo)準(zhǔn)圖像格式。Windows操作系統(tǒng)內(nèi)含了一套支持BMP圖像處理的API函數(shù)。隨著Windows操作系統(tǒng)的普及,BMP文件格式成為流行圖像格式,所有圖像處理軟件都支持BMP。BMP文件組成:文件頭,位圖信息頭,圖像數(shù)據(jù)定義文件頭:對(duì)文件屬性進(jìn)行說明,包含文件大小、圖像數(shù)據(jù)相對(duì)于文件頭的偏移量等等,為了便于擴(kuò)展,保留了四個(gè)字節(jié)。偏移量?jī)?nèi)容字節(jié)數(shù)0~1字節(jié)BMP文件格式表示:BM,ASCII碼:0×424D。22~5字節(jié)文件大?。ㄒ宰止?jié)為單位)II字節(jié)順序46~7字節(jié)保留字,值為0。28~9字節(jié)保留字,值為0。210~13字節(jié)圖像數(shù)據(jù)相對(duì)于文件頭的偏移量4文件頭定義位圖信息頭:位圖信息頭包含圖像的尺寸、圖像是否壓縮、圖像所用的顏色數(shù)(調(diào)色板)位圖信息頭的定義b偏移量?jī)?nèi)容字節(jié)數(shù)14~17字節(jié)信息頭所占字節(jié)數(shù),固定值為40418~21字節(jié)圖像寬度,以像素為單位422~25字節(jié)圖像高度,以像素為單位426~27字節(jié)目標(biāo)設(shè)備平面數(shù),必須為1228~29字節(jié)描述每個(gè)像素所需位圖(位深)2位圖信息頭的定義a偏移量?jī)?nèi)容字節(jié)數(shù)30~33字節(jié)位圖的壓縮類型,有三種取值434~37字節(jié)圖像數(shù)據(jù)字節(jié)數(shù)438~41字節(jié)目標(biāo)設(shè)備水平方向分辨率442~45字節(jié)目標(biāo)設(shè)備垂直方向分辨率446~49字節(jié)該圖像實(shí)際用到的顏色數(shù)。若為0,則是2的“位深”次方。450~53字節(jié)重要顏色數(shù)。若為0則所有顏色都重要4其中:位深--某數(shù)值的二進(jìn)制數(shù)的位數(shù),二值圖像的位深為1;16色圖像的位深為4;256色圖像的位深為8;真彩色圖像的位深為24;三種壓縮類型--“0”表示不壓縮;“1”表示壓縮方法是BI_RLE8;“2”表示壓縮方法是BI_RLE4。調(diào)色板——顏色的集合,圖像調(diào)色板說明一幅圖像用到的所有顏色。Photoshop中的調(diào)色板如下圖所示:Photoshop中的調(diào)色板圖像數(shù)據(jù)定義圖像數(shù)據(jù)的表示方法,如下圖從圖像左下角開始,按照從左到右、從下到上的順序逐個(gè)像素記錄顏色值。文件頭圖像數(shù)據(jù)圖2.3圖像數(shù)據(jù)保存BMP文件組成圖像的基本變換本節(jié)主要內(nèi)容圖像的基本變換,如何對(duì)圖像進(jìn)行灰度變換,幾何變換,讓它達(dá)到我們預(yù)期的要求?;叶戎狈綀D,對(duì)圖像直方圖進(jìn)行分析。2.2.1圖像線性變換本節(jié)主要介紹如何通過對(duì)單個(gè)像素進(jìn)行處理,把一幅圖像變成不同的樣子,包括線性變換、灰度均衡、幾何變換等等,這些變換后得出的新的圖像往往能夠彰顯我們感興趣的特征。理論基礎(chǔ):將圖像中所有像素的灰度按照線性變換函數(shù)進(jìn)行變換。該線性度變換函數(shù)是一維線性函數(shù),就是大家熟知的,即:則灰度變換方程為:其中,A—線性函數(shù)的斜率,B—截矩,G(new)—轉(zhuǎn)換后的灰度圖,G(ori)—源圖灰度。線性變換不改變圖像內(nèi)像素的空間關(guān)系,但它可以按照預(yù)定的方式改變圖像的灰度值。線性變換參數(shù)A、B對(duì)圖像的影響,如下表所示:參數(shù)變化A>1A<1A=1B↓A=1B↑A=1B=0A=-1B=255效果輸出圖像對(duì)比度將增大輸出圖的對(duì)比度將減小整個(gè)圖像更暗整個(gè)圖像更亮輸出圖像與源圖相同輸出圖像的灰度反射線性變換參數(shù)對(duì)圖像的影響線性變換的結(jié)果如下圖所示線性變換實(shí)例2.2.2灰度直方圖灰度直方圖(Histogram):是灰度值的函數(shù),其橫坐標(biāo)表示像素的灰度級(jí)別,縱坐標(biāo)是該灰度出現(xiàn)的頻率(個(gè)數(shù))?;叶戎狈綀D描述的是圖像中具有該灰度值的像素個(gè)數(shù)。直方圖特點(diǎn):只記錄各像素灰度值對(duì)應(yīng)出現(xiàn)的次數(shù),無法表示像素的空間位置關(guān)系。即,圖像經(jīng)過旋轉(zhuǎn)、對(duì)稱等變換后,其直方圖保持不變?;叶戎狈綀D精確、直觀地展示了凸顯灰度分量及其出現(xiàn)的頻率,為后續(xù)圖像的閾值分割、圖像預(yù)處理、BLOB分析等提供重要依據(jù)。圖像與其對(duì)應(yīng)的灰度直方圖直方圖均衡化:灰度均衡也稱直方圖均衡,它通過點(diǎn)運(yùn)算,把輸入圖像轉(zhuǎn)換成在每一個(gè)灰度級(jí)上都有相同的像素個(gè)數(shù)的輸出圖像,即輸出的直方圖是平的。其重要作用是增加圖像的對(duì)比度。有時(shí)還可根據(jù)情況,綜合使用直方圖均衡化和線性變換。

圖像與直方圖均衡化對(duì)比2.2.3圖像二值化灰度圖中的各元素灰度值范圍是0到255之間的任意整數(shù),二值圖各元素取值為0或255。二值圖是只有兩種像素值的圖像,每個(gè)像素點(diǎn)非黑即白。將圖像從灰度圖轉(zhuǎn)換為二值圖的過程稱為二值化。簡(jiǎn)單二值化(Binary)的算法實(shí)現(xiàn):首先選取一個(gè)閾值T(Threshold),然后將目標(biāo)像素的灰度值與該閾值進(jìn)行比較,若小于閾值,則該像素值變?yōu)?,反之變?yōu)?55。即:閾值T可固定可變化,關(guān)于T的選取,通??筛鶕?jù)經(jīng)驗(yàn)試湊、根據(jù)圖像直方圖分析等方法進(jìn)行選擇等。2.2.4:灰度的窗口變換如圖所示左圖是中間圖像的直方圖,選取雙峰之間的谷底T為閾值進(jìn)行分割,得到右圖。由中間圖可見,圖像的背景是淺色,圖像上的物體(前景)是深色,直方圖上的第一個(gè)峰值是物體,第二個(gè)峰值表示背景。該方法用于圖像灰度直方圖存在明顯的雙峰時(shí)效果較好。利用灰度直方圖選擇二值化的閾值2.2.5圖像的幾何變換圖像的幾何變換包括平移、旋轉(zhuǎn)、縮放、鏡像、轉(zhuǎn)置等。平移:將圖像中所有的點(diǎn)都按照指定的偏移量水平垂直移動(dòng)。設(shè)(X0,Y0)為原圖像的一點(diǎn),水平、垂直偏移量分別為△X、△Y,偏移后坐標(biāo)為(X1,Y1),則有如下關(guān)系:對(duì)圖像進(jìn)行平移,效果如下圖所示。對(duì)于不在原圖上的點(diǎn),可以直接將其像素值統(tǒng)一置為0或255。圖2.9圖像平移圖像平移效果鏡像圖像的鏡像變換分為水平和垂直兩種,水平鏡像是將圖像以垂直中軸線為中心進(jìn)行左右對(duì)換,垂直鏡像是以水平中軸線為中心進(jìn)行上下對(duì)換。設(shè)圖像寬度為W,高度為H,原圖中(X0,Y0)經(jīng)過水平鏡像后將變?yōu)椋╔1,Y1),則分別有:對(duì)于水平鏡像,(X1,Y1)=(X0,H-Y0)

對(duì)于垂直鏡像,(X1,Y1)=(W-X0,Y0)

轉(zhuǎn)置圖像的轉(zhuǎn)置是將圖像像素的X、Y坐標(biāo)互換。該操作將改變圖像的大小,圖像的高度和寬度將互換。轉(zhuǎn)置變換的矩陣表達(dá)式:它的逆變換矩陣為:縮放上面介紹的幾種幾何變換都是1:1的變換,接下來介紹圖像縮放和旋轉(zhuǎn)。這些變換產(chǎn)生的新圖中的像素可能在原理中找不到對(duì)應(yīng)的像素點(diǎn)??s放,顧名思義就是縮小、放大。圖像要縮小,長(zhǎng)度和寬度要變小,多余的點(diǎn)放去哪里?圖像要放大,長(zhǎng)度和寬度要變大,不夠的點(diǎn)從哪里來?這里介紹一種插值算法。插值法,簡(jiǎn)單地講,就是用像素周邊的點(diǎn)的灰度值來確定它的新的灰度值。下面是插值法中最簡(jiǎn)單的最鄰近插值(NearestNeighbourInterpolation)的算法。最鄰近插值算法也叫做零階插值算法,主要原理是讓輸出像素的像素值等于鄰域內(nèi)離它距離最近的像素值。例如下圖中所示,P1距離0灰度值像素的距離小于100灰度值的距離,因此,P1位置的插值像素為0。這個(gè)算法的優(yōu)點(diǎn)是計(jì)算簡(jiǎn)單方便,缺點(diǎn)是圖像容易出現(xiàn)鋸齒。最鄰近插值法示例:如上圖所示,假設(shè)左邊源圖src(source)為3x3大小,要將其縮放為右邊4x4大小的目標(biāo)圖dst(destination)。首先創(chuàng)建一個(gè)4x4的全0矩陣,然后往這個(gè)空的矩陣?yán)锩嫣钪?。要填的值從哪里來來呢?是從源圖中來,先填寫目標(biāo)圖最左上角的象素,坐標(biāo)為(0,0),那么該坐標(biāo)對(duì)應(yīng)源圖中的坐標(biāo)可以由如下公式得出:srcX=dstX*(srcWidth/dstWidth),srcY=dstY*(srcHeight/dstHeight)Dst(0,0)對(duì)應(yīng)Src:(0*(3/4),0*(3/4))=>(0*0.75,0*0.75)=>(0,0),將Src(0,0)=234賦值給Dst(0,0)Dst(1,0)對(duì)應(yīng)Src:(1*0.75,0*0.75)=>(0.75,0),取整得到坐標(biāo)(1,0),將Src(1,0)=38賦值給Dst(1,0)最臨近插值算法是一種最基本、最簡(jiǎn)單的圖像縮放算法,效果也是最不好的,放大后的圖像有很嚴(yán)重的馬賽克,縮小后的圖像有很嚴(yán)重的失真。以下為基于Python編寫的最鄰近插值法計(jì)算函數(shù),供參考。#定義最鄰近插值法(NearestNeighbourInterpolation)計(jì)算函數(shù)deffunction(img):height,widthchannels=img.shape #計(jì)算源圖大小emptyImage=np.zeros((2048,2048,channels),np.uint8)#創(chuàng)建一個(gè)指定大小的全0矩陣sh=2048/height #高度方向縮放比例sw=2048/width #寬度方向縮放比例foriinrange(2048): #對(duì)目標(biāo)圖像素進(jìn)行逐個(gè)賦值 forjinrange(2048): x=int(i/sh) #計(jì)算目標(biāo)圖對(duì)應(yīng)源圖的橫坐標(biāo)值 y=int(j/sw) #計(jì)算目標(biāo)圖對(duì)應(yīng)源圖的縱坐標(biāo)值 emptyImage[i,j]=img[x,y] #將源圖對(duì)應(yīng)的坐標(biāo)值像素賦值給目標(biāo)圖returnemptyImage

雙線型內(nèi)插值算法充分的利用了源圖中虛擬點(diǎn)四周的四個(gè)真實(shí)存在的像素值來共同決定目標(biāo)圖中的一個(gè)像素值,因此縮放效果比簡(jiǎn)單的最鄰近插值要好很多。其原理和計(jì)算流程分別如下圖和右圖所示。通過一階線性插值得f(X,0):對(duì)f(x,0)進(jìn)行一階線性插值:對(duì)垂直方向進(jìn)行一階線性插值,以確定f(x,y)合并上述3式可得:圖2.11雙線性插值法原理ImportnumpyasnpImportmathdeffunction(img,m,n):height,width,channels=img.shapeemptyImage=np.zeros((m,n,channels),np.uint8)value=[0,0,0]sh=m/heightsw=n/widthforiinrange(m):forjinrange(n):x

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論