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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

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

雙線型內插值算法充分的利用了源圖中虛擬點四周的四個真實存在的像素值來共同決定目標圖中的一個像素值,因此縮放效果比簡單的最鄰近插值要好很多。其原理和計算流程分別如下圖和右圖所示。通過一階線性插值得f(X,0):對f(x,0)進行一階線性插值:對垂直方向進行一階線性插值,以確定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等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論