版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第2章數(shù)字圖像處理基礎(chǔ)第2章 數(shù)字圖像處理基礎(chǔ)圖像數(shù)字化技術(shù)色度學(xué)基礎(chǔ)與顏色模型數(shù)字圖像類型圖像文件格式OpenCV編程簡介習(xí)題第2章數(shù)字圖像處理基礎(chǔ)2.1
圖像數(shù)字化技術(shù)設(shè)連續(xù)圖像f(x,y)經(jīng)數(shù)字化后,可以用一個離散量組成的矩陣g(即二維數(shù)組)來表示:(2-1)第2章數(shù)字圖像處理基礎(chǔ)矩陣g中的每一個元素稱為像元、像素或圖像元素。
而g(i,j)代表(i,j)點的灰度值,即亮度值。對以上數(shù)字化過程有以下幾點說明:由于f(i,j)代表該點圖像的光強度,而光是能量的一種形式,故f(i,j)必須大于零,且為有限值,即0<f(i,j)<∞。數(shù)字化采樣一般是按正方形點陣采樣的,除此之外還有三角形點陣、正六邊形點陣采樣方式,圖2-1所示為正方形和正六邊形采樣網(wǎng)格。第2章數(shù)字圖像處理基礎(chǔ)圖2-1采樣網(wǎng)格第2章數(shù)字圖像處理基礎(chǔ)(3)式(2-1)用f(i,j)的數(shù)值來表示(i,j)位置點上灰度的大小,亦即只反映了黑白灰度的關(guān)系。如果是一幅彩色圖像,各點的數(shù)值還應(yīng)當(dāng)反映色彩的變化,可用f(i,j,λ)表
示,其中λ是波長。如果圖像是運動的,f(i,j)還應(yīng)是時間t的函數(shù),即可表示為f(i,j,λ,t)。第2章數(shù)字圖像處理基礎(chǔ)2.1.1 采樣圖像在空間上的離散化稱為采樣。也就是用空間上部分
點的灰度值代表圖像,這些點稱為采樣點。圖像是一種二維
分布的信息,為了對它進行采樣操作,需要先將二維信號變
為一維信號,再對一維信號完成采樣。具體做法是,先沿垂
直方向按一定間隔從上到下順序地沿水平方向進行直線掃描,取出各水平行上灰度值的一維掃描信號。而后再對一維掃描
信號按一定間隔采樣得到離散信號。即先沿垂直方向采樣,
再沿水平方向采樣,用兩個步驟完成采樣操作。對于運動圖
像(即時間域上的連續(xù)圖像),需先在時間軸上采樣,再沿垂直方向采樣,最后再沿水平方向采樣三個步驟。第2章數(shù)字圖像處理基礎(chǔ)對一幅圖像采樣時,若每行(即橫向)像素為M個,每列(即縱向)像素為N個,則圖像大小為M×N個像素。在進行采樣時,采樣點間隔的選取是一個非常重要的問題,它決定了采樣后圖像的質(zhì)量,即忠實于原圖像的程度。采樣間隔的大小選取要依據(jù)原圖像的細微濃淡變化來決定。一般,圖像中細節(jié)越多,采樣間隔應(yīng)越小。根據(jù)一維采樣定理,若一維信號g(t)的最大頻率為ω,以T≤1/(2ω)為間隔進行采樣,則能夠根據(jù)采樣結(jié)果g(iT)(i=…,-1,0,1,…)完全恢復(fù)g(t),即第2章數(shù)字圖像處理基礎(chǔ)式中采樣示意圖如圖2-2所示。第2章數(shù)字圖像處理基礎(chǔ)圖2-2采樣示意圖第2章數(shù)字圖像處理基礎(chǔ)2.1.2 量化模擬圖像經(jīng)過采樣后,在空間上離散化為像素。但采樣所得的像素值(即灰度值)仍是連續(xù)量。把采樣后所得的各像素的灰度值從模擬量到離散量的轉(zhuǎn)換稱為圖像灰度的量化。圖2-3(a)說明了量化過程。若連續(xù)灰度值用z來表示,對于滿足zi≤z<zi+1的z值,都量化為整數(shù)qi。qi稱為像素的灰度值。
z與qi的差稱為量化誤差。一般,像素值量化后用一個字節(jié)8bit來表示。如圖2-3(b)所示,把由黑—灰—白的連續(xù)變化的灰度值量化為0~255共256級灰度值。第2章數(shù)字圖像處理基礎(chǔ)圖2-3量化示意圖第2章數(shù)字圖像處理基礎(chǔ)灰度值的范圍為0~255,表示亮度從暗到明,對應(yīng)圖像中的顏色為從黑到白。連續(xù)灰度值量化為灰度級的方法有兩種:一種是等間隔量化,另一種是非等間隔量化。等間隔量化就是簡單地把采樣值的灰度范圍等間隔地分割并進行量化。對于像素灰度值在黑—白范圍較均勻分布的圖像,這種量化方法可以得到較小的量化誤差。該方法也稱為均勻量化或線性量化。第2章數(shù)字圖像處理基礎(chǔ)為了減小量化誤差,引入了非均勻量化的方法。非均勻量化依據(jù)一幅圖像具體的灰度值分布的概率密度函數(shù),按總的量化誤差最小的原則來進行量化。具體做法是對圖像中像素灰度值頻繁出現(xiàn)的灰度值范圍,量化間隔取小一些;而對那些像素灰度值極少出現(xiàn)的范圍,則量化間隔取大一些。由于圖像灰度值的概率分布密度函數(shù)因圖像不同而異,所以不可能找到一個適用于各種不同圖像的最佳非等間隔量化方案,因此,實用上一般多采用等間隔量化。第2章數(shù)字圖像處理基礎(chǔ)2.1.3 采樣與量化參數(shù)的選擇一幅圖像在采樣時,行、列的采樣點與量化時每個像素量化的級數(shù),既影響數(shù)字圖像的質(zhì)量,也影響到該數(shù)字圖像數(shù)據(jù)量的大小。假定圖像取M×N個樣點,每個像素量化后的灰度二進制位數(shù)為Q,一般Q總是取為2的整數(shù)冪,即
Q=2k,則存儲一幅數(shù)字圖像所需的二進制位數(shù)為b=M×N×Q
(b)(2-2)字節(jié)數(shù)為(2-3)第2章數(shù)字圖像處理基礎(chǔ)對一幅圖像,當(dāng)量化級數(shù)Q一定時,采樣點數(shù)M×N對
圖像質(zhì)量有著顯著的影響。如圖2-4所示,采樣點數(shù)越多,圖像質(zhì)量越好;當(dāng)采樣點數(shù)減少時,圖像的塊狀效應(yīng)就逐漸明顯。同理,當(dāng)圖像的采樣點數(shù)一定時,采用不同量化級數(shù)的圖像質(zhì)量也不一樣。如圖2-5所示,量化級數(shù)越多,圖像質(zhì)量越好;量化級數(shù)越少,圖像質(zhì)量越差,量化級數(shù)最小的極端情況就是二值圖像,圖像出現(xiàn)假輪廓。第2章數(shù)字圖像處理基礎(chǔ)圖2-4不同采樣點數(shù)對圖像質(zhì)量的影響第2章數(shù)字圖像處理基礎(chǔ)圖2-5不同量化級數(shù)對圖像質(zhì)量的影響第2章數(shù)字圖像處理基礎(chǔ)一般,當(dāng)限定數(shù)字圖像的大小時,采用如下原則,可得到質(zhì)量較好的圖像:對緩變的圖像,應(yīng)該細量化、粗采樣,以避免假輪廓。對細節(jié)豐富的圖像,應(yīng)細采樣、粗量化,以避免模糊(混疊)。對于彩色圖像,是按照顏色成分——紅(R)、綠(G)、藍(B)分別采樣和量化的。若各種顏色成分均按8bit量化,即每種顏色量級別是256,則可以處理256×256×256=16
777216種顏色。第2章數(shù)字圖像處理基礎(chǔ)圖像數(shù)字化設(shè)備圖像數(shù)字化設(shè)備的組成如前所述,采樣和量化是數(shù)字化一幅圖像的兩個基本過程。即把圖像劃分為若干圖像元素(像素)并給出它們的地址(采樣);度量每一像素的灰度,并把連續(xù)的度量結(jié)果量化為整數(shù)(量化);最后將這些整數(shù)結(jié)果寫入存儲設(shè)備。為完成這些功能,圖像數(shù)字化設(shè)備必須包含以下五個部分。第2章數(shù)字圖像處理基礎(chǔ)采樣孔:使數(shù)字化設(shè)備實現(xiàn)對特定圖像元素的觀測,不受圖像其它部分的影響。圖像掃描機構(gòu):使采樣孔按照預(yù)先定義的方式在圖像上移動,從而按順序觀測每一個像素。光傳感器:通過采樣檢測圖像每一個像素的亮度。通常采用CCD陣列。量化器:將光傳感器輸出的連續(xù)量轉(zhuǎn)化為整數(shù)值。典型的量化器是A/D轉(zhuǎn)換電路,它產(chǎn)生一個與輸入電壓或電流成比例的數(shù)值。輸出存儲裝置:將量化器產(chǎn)生的顏色值(灰度或彩色)按某種格式存儲,以用于后續(xù)的計算機處理。第2章數(shù)字圖像處理基礎(chǔ)2.圖像數(shù)字化設(shè)備的性能雖然數(shù)字化設(shè)備的組成各不相同,但可從如下幾個方面比較和評價其性能。像素大小。采樣孔的大小和相鄰像素的間距是兩個重要的性能指標(biāo)。如果數(shù)字化設(shè)備是在一個放大率可變的光學(xué)系統(tǒng)上,那么對應(yīng)于輸入圖像平面上的采樣點大小和采樣間距也是可變的。圖像大小。圖像大小即數(shù)字化設(shè)備所允許的最大輸入圖像的尺寸。第2章數(shù)字圖像處理基礎(chǔ)線性度。對光強進行數(shù)字化時,灰度正比于圖像亮度的實際精確程度是一個重要的指標(biāo)。非線性的數(shù)字化設(shè)備會影響后續(xù)過程的有效性。能將圖像量化為多少級灰度也是非常重要的參數(shù)。圖像的量化精度經(jīng)歷了早期的黑白二值圖像、灰度圖像、彩色圖像及現(xiàn)在的真彩色圖像。當(dāng)然,量化精度越高,存儲像素信息需要的字節(jié)數(shù)也越多。噪聲。數(shù)字化設(shè)備的噪聲水平也是一個重要的性能
參數(shù)。例如,數(shù)字化一幅灰度值恒定的圖像,雖然輸入亮度
是一個常量,但是數(shù)字化設(shè)備中的固有噪聲卻會使圖像的灰
度發(fā)生變化。因此,數(shù)字化設(shè)備所產(chǎn)生的噪聲是圖像質(zhì)量下
降的根源之一,應(yīng)當(dāng)使噪聲小于圖像內(nèi)的反差點(即對比度)。第2章數(shù)字圖像處理基礎(chǔ)2.2
色度學(xué)基礎(chǔ)與顏色模型顏色是通過眼、腦和生活經(jīng)驗所產(chǎn)生的一種對光的視覺效應(yīng),對色彩的辨認是肉眼受到電磁波輻射能刺激后所引起的一種視覺神經(jīng)的感覺。色彩在圖像中提供了多個測度值,利用顏色信息常??梢院喕繕?biāo)物的識別及從場景中提取目標(biāo)。為了提供圖像處理編程所需的顏色基本知識,本節(jié)在闡述色度學(xué)基礎(chǔ)和顏色模型的基礎(chǔ)上,對彩色圖像的顏色變換、平滑與銳化、分割等常用方法進行論述。第2章數(shù)字圖像處理基礎(chǔ)2.2.1
色度學(xué)基礎(chǔ)灰度圖像的像素值是光強,即二維空間變量的函數(shù)f(x,y)。如果把灰度值看成是二維空間變量和光譜變量的函數(shù)f(x,y,λ),即多光譜圖像,那么它也就是通常所說的彩色圖像。計算機顯示一幅彩色圖像時,每一個像素的顏色是通過3種基本顏色(即紅、綠、藍)合成的,即最常見的RGB顏色模型。要理解顏色模型,首先應(yīng)了解人的視覺系統(tǒng)。第2章數(shù)字圖像處理基礎(chǔ)1.三色原理在人的視覺系統(tǒng)中存在著桿狀細胞和錐狀細胞兩種感光細胞。桿狀細胞為暗視器官,主要功能是辨別亮度信息;錐狀細胞是明視器官,在照度足夠高時起作用,其功能是分辨顏色。錐狀細胞將電磁光譜的可見部分分為3個波段:紅、綠、藍。故這3種顏色被稱為三基色,圖2-6表示了人類視覺系統(tǒng)3類錐狀細胞的光譜敏感曲線。第2章數(shù)字圖像處理基礎(chǔ)圖2-6人類感光細胞的敏感曲線第2章數(shù)字圖像處理基礎(chǔ)根據(jù)人眼的結(jié)構(gòu),所有顏色都可看作是3種基本顏色——紅(R,red)、綠(G,green)和藍(B,blue)按照不同的比例組合而成的。
1931年,國際照明委員會(CIE)規(guī)定3種基本色的波長分別為R:700
nm,G:546.1
nm,B:435.8
nm。一幅彩色圖像的像素值可看作是光強和波長的函數(shù)值f(x,y,λ),但實際使用時,將其看作是一幅普通二維圖像,且每個像素有紅、綠、藍3個灰度值會更直觀些。第2章數(shù)字圖像處理基礎(chǔ)2.顏色的3個屬性顏色是外界光刺激作用于人的視覺器官而產(chǎn)生的主觀感覺。顏色分兩大類:非彩色和彩色。非彩色是指黑色、白色和介于這二者之間深淺不同的灰色,也稱為無色系列。彩色是指除了非彩色以外的各種顏色。顏色有3個基本屬性,分別是色調(diào)、飽和度和亮度?;谶@3個基本屬性,提出了一種重要的顏色模型HSI(Hue,Saturation,Intensity)在HSI顏色模型部分,將詳細介紹這3個基本屬性。第2章數(shù)字圖像處理基礎(chǔ)2.2.2
顏色模型為了科學(xué)地定量描述和使用顏色,人們提出了各種顏色模型。目前常用的顏色模型按用途可分為3類:計算顏色模型、視覺顏色模型和工業(yè)顏色模型。計算顏色模型用于進行有關(guān)顏色的理論研究。常見的RGB模型、
CIE
XYZ模型、
Lab模型等均屬此類。第2章數(shù)字圖像處理基礎(chǔ)視覺顏色模型是指與人眼對顏色感知的視覺模型相似的模型,它主要用于色彩的理解。常見的HSI模型、
HSV模型和HSL模型均屬此類。工業(yè)顏色模型側(cè)重于實際應(yīng)用,包括彩色顯示系統(tǒng)、彩色傳輸系統(tǒng)及電視傳輸系統(tǒng)等。工業(yè)顏色模型有如印刷中用的CMYK模型、電視系統(tǒng)用的YUV模型、用于彩色圖像壓縮的YCbCr模型等。第2章數(shù)字圖像處理基礎(chǔ)1.RGB模型RGB模型采用CIE規(guī)定的三基色構(gòu)成表色系統(tǒng)。自然界的任一顏色都可通過這三基色按不同比例混合而成。由于RGB模型將三基色同時加入產(chǎn)生新的顏色,所以它是一個加色系統(tǒng)。設(shè)顏色傳感器把數(shù)字圖像上的一個像素編碼成(R,G,B),每個分量量化范圍為[0,255]共256級。因此,RGB模型可以表示28×28×28=224=256×256×256=16
777216≈1670萬種顏色。這足以表示自然界的任一顏色,故又稱其為24位真彩色。第2章數(shù)字圖像處理基礎(chǔ)一幅圖像中的每一個像素點均被賦予不同的RGB值,便可以形成真彩色圖像,如紅色(255,0,0)、綠色(0,255,0藍色(0,0,255)、青色(0,255,255)、品紅(255,0,255)、色(255,255,0)、白色(255,255,255)、黑色(0,0,0)等,比例混合三基色產(chǎn)生的是灰色。RGB顏色模型可用一個三維空間中的單位立方體來表示,如圖2-7所示。第2章數(shù)字圖像處理基礎(chǔ)圖2-7RGB顏色模型單位立方體第2章數(shù)字圖像處理基礎(chǔ)在RGB立方體中,所有數(shù)據(jù)都進行了標(biāo)準(zhǔn)化,其取值范圍為[0,1]。原點所對應(yīng)的顏色為黑色,它的3個分量值都為零。距離原點最遠的頂點對應(yīng)的顏色為白色,它的3個分量值都為1。從黑到白的灰色分布在這兩個點的連線上,該線稱為灰色線立方體內(nèi)其余各點對應(yīng)不同的顏色。彩色立方體中有3個角對應(yīng)于三基色紅、綠、藍,剩下的3個角對應(yīng)于三基色的補色,即青色(Cyan)、品紅(Magenta)和黃色(Yellow)。第2章數(shù)字圖像處理基礎(chǔ)RGB模型與顯示器等設(shè)備有著很好的對應(yīng)關(guān)系,例如,在彩色液晶顯示屏中每個像素分成三個單元,或稱子像素,分別為其附加紅色、綠色和藍色濾光片。
3個子像素可獨立進行控制,根據(jù)電壓的大小來改變亮度。
RGB模型可以方便地實現(xiàn)三個子像素電壓的控制,即可顯示出相應(yīng)的顏色。第2章數(shù)字圖像處理基礎(chǔ)2.CIE
XYZ模型采用RGB模型表示各種不同顏色時,存在有負值表示顏色情況。為此,CIE在1931年制定了XYZ模型,其中,
X、Y、Z分別表示3種標(biāo)準(zhǔn)原色。對于可見光中的任一種顏色F,可以找到一組權(quán)值,使得下式成立:F=x
·
X
+
y
·
Y
+
z
·
Z(2-4)式中:x、y、z稱為標(biāo)準(zhǔn)計色系統(tǒng)下的色度坐標(biāo),可表示為(2-5)顯然,x+y+z≡1。第2章數(shù)字圖像處理基礎(chǔ)x、y、z中,只有兩個是相互獨立的,因此,表示某種顏色只需兩個坐標(biāo)即可。據(jù)此,CIE制定了如圖2-8所示的色度圖。圖中橫軸代表標(biāo)準(zhǔn)紅色分量x,縱軸代表標(biāo)準(zhǔn)綠色分量y,標(biāo)準(zhǔn)藍色分量z=1-(x+y)。第2章數(shù)字圖像處理基礎(chǔ)圖2-8CIE
XYZ色度圖第2章數(shù)字圖像處理基礎(chǔ)CIE
XYZ模型與RGB模型之間可以相互轉(zhuǎn)換,其轉(zhuǎn)換公式為第2章數(shù)字圖像處理基礎(chǔ)Lab顏色模型是CIE于1976年制定的等色空間。
Lab顏色由亮度或光亮度分量L和a、b兩個色度分量組成。其中,a在正向的數(shù)值越大表示越紅,在負向的數(shù)值越大則表示越綠;b在正向的數(shù)值越大表示越黃,在負向的數(shù)值越大則表示越藍。
Lab顏色與設(shè)備無關(guān),無論使用何種設(shè)備(如顯示器、打印機、計算機或掃描儀)創(chuàng)建或輸出圖像,該模型均能生成一致的顏色。
Lab模型與XYZ模型的轉(zhuǎn)換公式為第2章數(shù)字圖像處理基礎(chǔ)式中:X0、Y0、Z0為標(biāo)準(zhǔn)白色對應(yīng)的X、Y、Z值。第2章數(shù)字圖像處理基礎(chǔ)4.HSI顏色模型HSI模型由美國色彩學(xué)家孟塞爾(H.A.Munseu)于1915年提出,它反映了人的視覺系統(tǒng)感知彩色的方式,以色調(diào)、飽和度和強度3種基本特征量來感知顏色。色調(diào)H(Hue):與光波的波長有關(guān),它表示人的感官對不同顏色的感受,如紅色、綠色、藍色等,它也可表示一定范圍的顏色,如暖色、冷色等。第2章數(shù)字圖像處理基礎(chǔ)飽和度S(Saturation):表示顏色的純度。純光譜色是完全飽和的,加入白光會稀釋飽和度。飽和度越大,顏色看起來就會越鮮艷,反之亦然。強度I(Intensity):對應(yīng)成像亮度和圖像灰度,是顏色的明亮程度。HSI模型的建立基于兩個重要的事實:I分量與圖像的彩色信息無關(guān);H和S分量與人感受顏色的方式是緊密相聯(lián)的。第2章數(shù)字圖像處理基礎(chǔ)這些特點使得HSI模型非常適合彩色特性檢測與分析。若將RGB單位立方體沿主對角線進行投影,可得到圖2-9(a)所示的六邊形。投影后原來沿主對角線的灰色都投影到中心白色點,而紅色點(1,0,0)則位于右邊的角上,綠
色點(0,1,0)則位于左上角,藍色點(0,0,1)則位于左下角。第2章數(shù)字圖像處理基礎(chǔ)圖2-9(b)是HSI顏色模型的雙六棱錐表示,I是強度軸,色調(diào)H的角度范圍為[0,2π],其中,純紅色的角度為0,純綠色的角度為2π/3,純藍色的角度為4π/3。飽和度S是顏色空間任一點距I軸的距離。當(dāng)然,若用圓表示RGB模型的投影,則HSI色度空間為雙圓錐3D表示。注意:當(dāng)強度I=0時,色調(diào)H、飽和度S無定義;當(dāng)S=0時,色調(diào)H無定義。第2章數(shù)字圖像處理基礎(chǔ)圖2-9HSI顏色模型第2章數(shù)字圖像處理基礎(chǔ)HSI模型也可用如圖2-10所示的圓柱來表示。圖2-10圓柱HSI模型第2章數(shù)字圖像處理基礎(chǔ)若將其展開,并按圖2-11進行定義,可得到HSI調(diào)色板。圖2-11HSI調(diào)色板第2章數(shù)字圖像處理基礎(chǔ)1)RGB轉(zhuǎn)換到HSI首先,對取值范圍為[0,255]的R、G、B值按式(2-8)進行歸一化處理,得到3個[0,1]范圍內(nèi)的r、g、b值:(2-8)第2章數(shù)字圖像處理基礎(chǔ)則對應(yīng)HSI模型中的H、S、I分量的計算公式為(2-9)(2-10)(2-11)式中第2章數(shù)字圖像處理基礎(chǔ)由式(2-9)~式(2-11)計算出的h值的范圍為[0,2π],
s值的范圍為[0,1],
i值的范圍為[0,1],為便于理解,常將其轉(zhuǎn)換為[0°,360°],
[0,100],[0,
255]:(2-12)第2章數(shù)字圖像處理基礎(chǔ)2)HSI轉(zhuǎn)換到RGB利用h、s、i將HSI轉(zhuǎn)換為RGB的公式為(2-13)第2章數(shù)字圖像處理基礎(chǔ)(2-14)(2-15)第2章數(shù)字圖像處理基礎(chǔ)由式(2-13)~式(2-15)計算出的r、g、b值的范圍為[0,1],為便于理解與顯示,常將其轉(zhuǎn)換為[0,255]:(2-16)例如,有一像素的顏色為RGB(100,150,200),求其對應(yīng)H、S、I值的步驟如下:第2章數(shù)字圖像處理基礎(chǔ)(1)歸一化處理:第2章數(shù)字圖像處理基礎(chǔ)(2)用式(2-9)計算h,由于b>g,故(3)計算s:s=1-3·min(r,
g,
b)=0.333第2章數(shù)字圖像處理基礎(chǔ)(4)計算H,S,I:再如,若一像素的顏色為HSI(210°,33.3,150),求其對應(yīng)R、G、B值的步驟如下:第2章數(shù)字圖像處理基礎(chǔ)(1)計算h,s,i:第2章數(shù)字圖像處理基礎(chǔ)(2)由于h∈[2π/3,4π/3),故第2章數(shù)字圖像處理基礎(chǔ)(3)計算R,G,B:第2章數(shù)字圖像處理基礎(chǔ)與HSI相似的顏色模型還有HSV模型和HLS模型。HSV和HLS模型中的H、S與HSI模型中的H、S含義相同,V、L含義與I基本一致。但應(yīng)注意,HSV模型和HLS模型與RGB模型的轉(zhuǎn)換方式不同于HSI與RGB的轉(zhuǎn)換方式。在此不再討論,請參閱出版社網(wǎng)站提供的代碼。不同應(yīng)用系統(tǒng)采用的HSI、HSV、HLS模型不完全一樣,表2-1是這三種模型在常見系統(tǒng)中的應(yīng)用。第2章數(shù)字圖像處理基礎(chǔ)第2章數(shù)字圖像處理基礎(chǔ)5.CMY顏色模型CMY模型也是一種常用的顏色表示方式。印刷工業(yè)常采用CMY色彩系統(tǒng),它是通過顏色相減來產(chǎn)生其他顏色的,所以,稱這種方式為減色合成法(Subtractive
Color
SynthesiCMY模式的原色為青色(Cyan)、品紅色(Magenta)、黃色(Yellow)。第2章數(shù)字圖像處理基礎(chǔ)青色C、品紅色M、黃色Y是該表色系統(tǒng)的三基色,它們分別對應(yīng)3種墨水。青色吸收紅光,品紅色吸收綠光,黃色吸收藍光,印刷好的圖像被白光照射時會產(chǎn)生合適的反射,從而形成不同的色彩。部分顏色的CMY編碼為:白色(0,0,0),因為入射白色光不會被吸收;黑色(255,255,255),因為入射白光的所有成分都會被吸收;黃色(0,0,255),因為入射白光中的藍色成分容易被墨水吸收,從而留下了紅色和綠色成分,使人感覺到黃色。第2章數(shù)字圖像處理基礎(chǔ)CMY與RGB的轉(zhuǎn)換關(guān)系為式中:C、M、Y;R、G、B均歸一化到[0,1]范圍。
在實際應(yīng)用中,由于黑色(Black)用量較大,印刷中往往直接用黑色墨水來產(chǎn)生黑色,從而節(jié)約青色、品紅色、黃色3種墨水的用量。因此,常常用CMYK來表示CMY模型。第2章數(shù)字圖像處理基礎(chǔ)6.YUV電視信號彩色坐標(biāo)系統(tǒng)彩色電視信號傳輸時,將RGB改組成亮度信號和色度信號。
PAL制式將RGB三色信號改組成YUV信號,其中,Y表示亮度信號,U、V表示色差信號。第2章數(shù)字圖像處理基礎(chǔ)RGB與YUV之間的對應(yīng)關(guān)系如下:(2-18)(2-19)第2章數(shù)字圖像處理基礎(chǔ)7.YCbCr模型YCbCr模型充分考慮了人眼視覺特性,可降低彩色數(shù)字圖像存儲量,是一種適合于彩色圖像壓縮的模型。YCbCr模型與YUV模型一樣,由亮度Y、色差Cb、色差Cr構(gòu)成。與YUV模型不同的是,在構(gòu)造色差信號時,YCbCr充分考慮了RGB
3個分量在視覺感受中的不同重要性。第2章數(shù)字圖像處理基礎(chǔ)YCbCr與RGB之間的對應(yīng)關(guān)系如下:(2-20)(2-21)第2章數(shù)字圖像處理基礎(chǔ)2.2.3
顏色變換1.基本變換顏色變換模型為g(x,
y)=T[f(x,
y)](2-22)式中:f(x,y
)是彩色輸入圖像,g(x,y
)是變換或處理后的彩色圖像,T是在空間域上對f的操作。這里,像素值是從彩色空間選擇的3元組或4元組。第2章數(shù)字圖像處理基礎(chǔ)顏色變換關(guān)系可用下式表示:si=Ti[r1,
r2,
…,
rn],
i=1,
2,
…,
n(2-23式中:ri、si為f(x,y)和g(x,y)在圖像中任一點的彩色分量值{T1,T2,…,Tn}為變換函數(shù)集。
n的值由顏色模型而定,若選擇RGB模型,則n=3;r1、r2、r3分別表示輸入圖像的紅、綠、藍分量;選擇CMYK模型,則n=4。第2章數(shù)字圖像處理基礎(chǔ)例如,要改進圖像的亮度,可使用g(x,
y)=k[f(x,
y)](2-24式中:k為改進亮度的常數(shù),且0<k<1。在HSI模型中,其變換為s3=kr3在RGB模型中,其變換為(2-25)si=kri,i=1,
2,
3(2-26第2章數(shù)字圖像處理基礎(chǔ)式(2-25)和式(2-26)中定義的每一變換,僅依賴于其彩色模型中的一個分量。例如,紅色的輸出分量S在式(2-26)中獨立于綠色和藍色輸入分量。此類變換是最簡單和最常用的彩色處理方法,可對每個彩色分量進行變換處理。但有些變換函數(shù)會依賴所有的輸入圖像分量,因此,不能以單獨彩色分量為基礎(chǔ)進行變換。第2章數(shù)字圖像處理基礎(chǔ)理論上,式(2-23)可用于任何顏色模型,然而某一特定變換對特定的顏色模型會比較適用。圖2-12為直方圖均衡化處理效果,若采用HSI模型,通過對I進行處理,其結(jié)果正常,而若采用RGB模型分別對3通道進行處理,會
產(chǎn)生顏色畸變(偏色)現(xiàn)象。第2章數(shù)字圖像處理基礎(chǔ)圖2-12彩色圖像直方圖均衡化處理效果第2章數(shù)字圖像處理基礎(chǔ)2.彩色切片彩色切片是指通過識別圖像中感興趣的顏色,然后將其作為一個整體從圖像中分離出來。圖2-13(a)圖像中包含了不同顏色的區(qū)域,利用彩色切片技術(shù)可將黃色區(qū)域分離出來,如圖2-13(b)所示,其余部分均被設(shè)置成灰色。第2章數(shù)字圖像處理基礎(chǔ)圖2-13彩色切片效果第2章數(shù)字圖像處理基礎(chǔ)彩色切片類似于偽彩色處理中的灰度分層法。由于一個彩色像素具有n維參量,每個像素變換后的彩色分量是所有n個原始像素彩色分量的函數(shù),故彩色變換函數(shù)比灰度變換函數(shù)要復(fù)雜得多。對一幅彩色圖像分層最簡單的方法,是將感興趣區(qū)域以外的區(qū)域變換為不突出的顏色(如背景色)。第2章數(shù)字圖像處理基礎(chǔ)如果感興趣的顏色由寬為W,中心在平均值點,且由分量(a1,a2,…,an)構(gòu)成的立方體(或超立方體,n>3)所包圍,則完成彩色切片的變換函數(shù)為(2-27)第2章數(shù)字圖像處理基礎(chǔ)式(2-27)使立方體范圍內(nèi)的顏色保持為指定的顏色,從而突出了感興趣的顏色。圖2-13(b)即為用式(2-27)進行顏色切片處理得到的效果。當(dāng)然,也可以采用球體實現(xiàn)彩色切片變換:(2-28)第2章數(shù)字圖像處理基礎(chǔ)2.3
數(shù)字圖像類型數(shù)字圖像可分為矢量(Vector)圖和位圖(Bitmap),位圖也稱為柵格圖像。矢量圖用一系列計算機指令來表示一幅圖,如AutoCAD中的繪圖語句。該方法的本質(zhì)是用數(shù)學(xué)(準(zhǔn)確地說是幾何學(xué))公式描述一幅圖像。圖像中每個形狀都是一個完整的公式,稱為一個對象。對象是一個封閉的整體,所以定義圖像上對象的變化和對象與其他對象的關(guān)系更為簡單。矢量圖具有兩個優(yōu)點:一是它的文件數(shù)據(jù)量很小,因為存儲的是其數(shù)學(xué)公式;其二是圖像質(zhì)量與分辨率無關(guān),這意味著無論將圖像放大或縮小了多少次,圖像總是以顯示設(shè)備允許的最大清晰度顯示。第2章數(shù)字圖像處理基礎(chǔ)但是,矢量圖有一個明顯的缺點,就是不易制作色調(diào)豐富或色彩變化太多的圖像,而且繪制出來的圖像不是很逼真,同時也不易在不同的軟件間交換文件。在CorelDraw和Adobe
Illustrator中生成的圖像均為矢量圖。位圖由許多像素點來表示一幅圖像。每個像素具有顏色屬性和位置屬性。位圖又可分成線畫稿(LineArt)、灰度圖像(GrayScale)、索引顏色圖像(Index
Color)和真彩色圖像(True
Color)。第2章數(shù)字圖像處理基礎(chǔ)位圖線畫稿線畫稿只有黑白兩種顏色。
用掃描儀掃描圖像,
當(dāng)
設(shè)置成LineArt格式時,
掃描儀用一位顏色模式表示圖像。
若樣點顏色為黑,
則掃描儀將相應(yīng)的像素位元置為0,
否則置為1。
線畫稿適合于由黑白兩色構(gòu)成而沒有灰度陰影的圖像。圖2-14所示是一幅線畫稿圖。第2章數(shù)字圖像處理基礎(chǔ)圖2-14線畫稿圖第2章數(shù)字圖像處理基礎(chǔ)2.灰度圖像灰度圖像像素的灰度級用8
bit表示,每個像素都是介于黑、白之間的256(28=256)種灰度中的一種?;叶葓D像只有灰度濃淡而沒有彩色。常見的黑白照片便包含了黑白之間的所有灰度色調(diào),其實就是具有256種灰度色域的單色圖像。第2章數(shù)字圖像處理基礎(chǔ)3.索引顏色圖像在24位真彩色出現(xiàn)以前,由于技術(shù)和價格的原因,計算機并未達到處理每像素24位的水平。為此,人們創(chuàng)造了索引顏色(也稱為映射顏色、調(diào)色板)。在這種模式下,預(yù)先定義好每種顏色,且可供選用的一組顏色數(shù)最多為256種。一幅索引顏色圖像在圖像文件里定義,當(dāng)打開該文件時,構(gòu)成該圖像具體顏色的索引值被讀入程序,然后根據(jù)索引值在調(diào)色板中找到對應(yīng)的顏色。第2章數(shù)字圖像處理基礎(chǔ)4.真彩色圖像“真彩色”是RGB顏色的另一種叫法。從技術(shù)角度考慮,真彩色是指寫到磁盤上的圖像類型,而RGB顏色是指顯示器的顯示模式。
RGB圖像的顏色是非映射的,它可以從系統(tǒng)的“顏色表”里自由獲取所需的顏色,這種圖像文件里的顏色直接與PC機上的顯示顏色相對應(yīng)。在真彩色圖像中,每一個像素由紅、綠和藍3個字節(jié)組成,每個字節(jié)為8
bit,表示0到255之間的不同的亮度值,這3個字節(jié)組合,可以產(chǎn)生1670萬種不同的顏色。第2章數(shù)字圖像處理基礎(chǔ)位圖的有關(guān)術(shù)語像素(Pixel)、點(Dot)和樣點(Sample)
在計算機中,圖像是由顯示器上的許多光點組成的,將顯示在顯示器上的這些點(光的單元)稱為像素。像素的分割常采用正方形網(wǎng)格點陣分割方案,這是因為其像素網(wǎng)格點陣規(guī)范,并易于在圖像輸入、輸出設(shè)備上實現(xiàn)。像素并不像“克”和“厘米”那樣是絕對的度量單位,而是可大可小的。如果獲取圖像時的分辨率較低,如50dpi,則顯示該圖像時,每英寸所顯示的像素個數(shù)很少,而像素變得較大。第2章數(shù)字圖像處理基礎(chǔ)在數(shù)字圖像處理中還常用到樣點和點的概念。掃描圖像時需設(shè)置掃描儀的分辨率(Resolution),分辨率決定了掃描儀從源圖像里每英寸取多少個樣點。掃描儀將源圖像看成是由大量的網(wǎng)格組成的,然后在每個網(wǎng)格里取出一點,用該點的值代表該網(wǎng)格里所有點的顏色值,這些被選中的點就是樣點。第2章數(shù)字圖像處理基礎(chǔ)2.分辨率分辨率是指數(shù)字圖像在單位長度內(nèi)所含有的像素數(shù)。與數(shù)字圖像有關(guān)的分辨率有以下幾種類型:(1)圖像分辨率。圖像分辨率指每英寸圖像含有多少個點或像素,分辨率的單位為dpi,例如250dpi表示該圖像每英寸含有250個點或像素。第2章數(shù)字圖像處理基礎(chǔ)分辨率的大小直接影響到數(shù)字圖像的質(zhì)量。分辨率越高,圖像細節(jié)越清晰,但產(chǎn)生的文件尺寸越大,同時處理同一尺寸的圖像所需時間也越長。故應(yīng)根據(jù)需要選擇圖像的分辨率。圖像文件大小與圖像尺寸和分辨率密切相關(guān)。圖像尺寸越大、圖像分辨率越高,則圖像文件也就越大。所以,調(diào)整圖像尺寸和分辨率即可改變圖像文件的大小。第2章數(shù)字圖像處理基礎(chǔ)屏幕分辨率。顯示器上每單位長度顯示的像素或點的數(shù)量稱為屏幕分辨率,通常以點/英寸(dpi)來表示。屏幕分辨率由計算機的顯示卡決定,高性能顯示卡可支持1920×1080點以上的分辨率。打印機分辨率。打印機分辨率是指打印機輸出圖像時每英寸的點數(shù)(dpi)。打印機分辨率也決定了輸出圖像的質(zhì)量。打印機分辨率高,可以減少打印的鋸齒邊緣,在灰度的半色調(diào)表現(xiàn)上也會較為平滑。由于超微細碳粉技術(shù)的成熟,新的激光打印機分辨率可達600~1200
dpi。第2章數(shù)字圖像處理基礎(chǔ)(4)掃描儀分辨率。掃描儀分辨率是指通過掃描元件將掃描對象以每英寸多少點來表示,也用dpi表示,不過這里的點是樣點。一般掃描儀水平分辨率要比垂直分辨率高,如600×1200
dpi。臺式掃描儀的分辨率可以分為光學(xué)分辨率和輸出分辨率。光學(xué)分辨率是指掃描儀硬件所真正掃描到的圖像分辨率,目前市場上產(chǎn)品的光學(xué)分辨率可達800~1200
dpi以上。輸出分辨率是通過軟件強化以及內(nèi)插補點之后產(chǎn)生的分辨率,大約為光學(xué)分辨率的3~4倍。第2章數(shù)字圖像處理基礎(chǔ)2.4
圖像文件格式數(shù)字圖像有多種存儲格式,每種格式一般由不同的軟件商支持。隨著信息技術(shù)的發(fā)展和圖像應(yīng)用領(lǐng)域的不斷拓寬,還會出現(xiàn)新的圖像格式。因此要進行圖像處理,必須了解圖像文件的格式,即圖像文件的數(shù)據(jù)結(jié)構(gòu)。每一種圖像文件均有一個文件頭,在文件頭之后才是圖像數(shù)據(jù)。文件頭的內(nèi)容由制作該圖像文件的公司決定,一般包括文件類型、文件制作者、制作時間、版本號和文件大小等內(nèi)容。各種圖像文件的制作還涉及圖像文件的壓縮方式和存儲效率。下面介紹幾種常見的圖像文件格式。第2章數(shù)字圖像處理基礎(chǔ)2.4.1
BMP圖像文件格式BMP(BitMapPicture)文件格式是Windows系統(tǒng)交換圖形、圖像數(shù)據(jù)的一種標(biāo)準(zhǔn)格式。
BMP圖像的數(shù)據(jù)由4部分組成,如表2-2所示。第1部分為位圖文件頭(BITMAPFILEHEADER),它由如下結(jié)構(gòu)體定義:第2章數(shù)字圖像處理基礎(chǔ)typedef
struct
tagBITMAPFILEHEADER{WORDDWORDWORDWORDDWORDbfType;bfSize;bfReserved1;bfReserved2;bfOffBits;}
BITMAPFILEHEADER;該部分結(jié)構(gòu)的固定長度是14個字節(jié)(其中:WORD為無符號16位二進制整數(shù),DWORD為無符號32位二進制整數(shù))。第2章數(shù)字圖像處理基礎(chǔ)第2章數(shù)字圖像處理基礎(chǔ)第2章數(shù)字圖像處理基礎(chǔ)第2章數(shù)字圖像處理基礎(chǔ)第2部分為位圖信息頭(BITMAPINFOHEADER),也是由結(jié)構(gòu)體定義:typedef
struct
tagBITMAPINFOHEADER{DWORDLONGLONGWORDWORDDWORDDWORDLONGLONGDWORDDWORDbiSize;biWidth;biHeight;biPlanes;biBitCount;biCompression;biSizeImage;biXPelsPerMeter;biYPelsPerMeter;biClrUsed;biClrImportant;}
BITMAPINFOHEADER;第2章數(shù)字圖像處理基礎(chǔ)這部分結(jié)構(gòu)的長度是40個字節(jié)(其中:LONG為32位二進制整數(shù)),也是固定不變的。其中,biCompression有效的值為BI_RGB、BI_RLE8、BI_RLE4、BI_BITFIELDS,這都是一些Windows定義好的常量。由
于RLE4和RLE8的壓縮格式用的不多,此后僅討論biCompression為BI_RGB,即圖像不壓縮的情況。第2章數(shù)字圖像處理基礎(chǔ)第3部分為調(diào)色板(Palette)。調(diào)色板僅供灰度圖像或索引圖像使用,真彩色圖像并不需要調(diào)色板,位圖信息頭部分后直接是位圖數(shù)據(jù)。調(diào)色板實際上是一個數(shù)組,共有biClrUsed個元素(如果該值為零,則有2的biBitCount次方個元素)。數(shù)組中每個元素的類型是一個RGBQUAD結(jié)構(gòu),占4個字節(jié),其定義如下:第2章數(shù)字圖像處理基礎(chǔ)typedef
struct
tagRGBQUAD{BYTEBYTEBYTEBYTErgbBlue;rgbGreen;rgbRed;rgbReserved;}
RGBQUAD;第4部分是圖像數(shù)據(jù)。對于用到調(diào)色板的位圖,圖像數(shù)據(jù)就是該像素顏色在調(diào)色板中的索引值;對于真彩色圖像,圖像數(shù)據(jù)就是實際的R、G、B值。第2章數(shù)字圖像處理基礎(chǔ)下面兩點需特別注意:圖像數(shù)據(jù)每一行的字節(jié)數(shù)必須是4的整倍數(shù),否則需要補齊。BMP文件的數(shù)據(jù)存放是從下到上、從左到右。也就是說,圖像數(shù)據(jù)是倒置的,讀取BMP文件時,先讀取最下面的數(shù)據(jù),然后依次從下往上讀取數(shù)據(jù)。DIB(DeviceIndependentBitmap)圖像格式是設(shè)備無關(guān)位圖文件格式,其描述圖像的能力基本與BMP相同,并且能運行于多種硬件平臺,只是文件較大。第2章數(shù)字圖像處理基礎(chǔ)其他文件格式TIF圖像文件格式標(biāo)記圖像文件格式(Tag
Image
File
Format,TIF)提供存儲各種信息的完備手段,可以存儲專門的信息而不違反格式宗旨,是目前流行的圖像文件交換標(biāo)準(zhǔn)之一。
TIF文件格式是圖像文件格式中最復(fù)雜的一種,要求用更多的代碼來控制它,會導(dǎo)致文件讀寫速度慢。
TIF文件由文件頭、參數(shù)指針表與參數(shù)域、參數(shù)數(shù)據(jù)表和圖像數(shù)據(jù)4部分組成,如表2-3~表2-5所示。第2章數(shù)字圖像處理基礎(chǔ)第2章數(shù)字圖像處理基礎(chǔ)第2章數(shù)字圖像處理基礎(chǔ)參數(shù)指針表由一個2字節(jié)的整數(shù)和其后的一系列12字節(jié)參數(shù)域構(gòu)成,最后以一個長整型數(shù)結(jié)束。若最后的長整型數(shù)為0,表示文件的參數(shù)指針表到此為至,否則該長整數(shù)為指向下一個參數(shù)指針表的偏移。第2章數(shù)字圖像處理基礎(chǔ)第2章數(shù)字圖像處理基礎(chǔ)2.GIF圖像文件格式CompuServe開發(fā)的圖形交換文件格式GIF(GraphicsInterchangeFormat),可在不同的系統(tǒng)平臺上交流和傳輸。GIF圖像文件采取LZW壓縮算法,存儲效率高,支持多幅圖像定序或覆蓋、交錯多屏幕繪圖以及文本覆蓋。它也是Web上常用的文件格式之一,用于超文本標(biāo)記語言(HTML)文檔中的索引顏色圖像,但圖像最大不能超過64M,顏色最多為256色。第2章數(shù)字圖像處理基礎(chǔ)GIF主要是為數(shù)據(jù)流設(shè)計的一種傳輸格式。換句話說,它具有順序的組織形式。GIF有5個主要部分以固定順序出現(xiàn),所有部分均由一個或多個塊(Block)組成。每個塊第1個字節(jié)中存放標(biāo)識碼或特征碼標(biāo)識。這些部分的順序為:文件標(biāo)志塊、邏輯屏幕描述塊、可選的“全局”色彩表塊(調(diào)色板)、各圖像數(shù)據(jù)塊(或?qū)S玫膲K)以及尾塊(結(jié)束碼)。
GIF圖像文件格式如表2-6所示。第2章數(shù)字圖像處理基礎(chǔ)第2章數(shù)字圖像處理基礎(chǔ)3.PBM、PGM、PPM文件PBM(Portable
BitMap)、PGM
(Portable
GreyMap)、PPM
(Portable
PixMap)是可交換式位圖(灰度、像素)映射文件格式,通常作為各種圖像格式文件之間的轉(zhuǎn)換平臺。PBM、PGM、PPM和BMP文件一樣,圖像數(shù)據(jù)均不壓縮,但前者的文件頭信息非常簡單,文件頭以ASCII方式編碼,圖像數(shù)據(jù)以ASCII碼或字節(jié)形式編碼。文件頭的第1項是格式標(biāo)識符(Magic
Identifier),表示圖像的類型及存儲格式;第2至第4項分別為圖像的寬度和高度、圖像顏色可能的最大
值和注釋。文件頭之后為圖像數(shù)據(jù)。表2-7是文件格式的詳
細描述。第2章數(shù)字圖像處理基礎(chǔ)第2章數(shù)字圖像處理基礎(chǔ)4.PCX文件PCX文件格式由ZSoft公司設(shè)計。各種掃描儀掃描得到的圖像均能保存成PCX格式。
PCX格式支持256種顏色,不如TIF等格式功能強,但結(jié)構(gòu)較簡單,存取速度快,壓縮比適中,適合于一般軟件的使用。PCX格式支持RGB、索引顏色、灰度和位圖顏色模式,但不支持alpha通道。
PCX格式支持RLE壓縮方法,圖像顏色位數(shù)可為
1、4、8或24。第2章數(shù)字圖像處理基礎(chǔ)圖2-15是一個實際的PGM圖像文件,可以看出,PGM格式簡單,用戶讀寫非常容易。圖2-15一個實際的PGM圖像文件第2章數(shù)字圖像處理基礎(chǔ)PCX圖像文件由3個部分組成:文件頭、圖像數(shù)據(jù)和256色調(diào)色板。
PCX的文件頭有128個字節(jié),它包括版本號,被打印或掃描圖像的分辨率(dpi)、大小(單位為像素),每掃描行的字節(jié)數(shù),每像素包含的位數(shù)據(jù)和彩色平面數(shù)。位圖數(shù)據(jù)用行程長度壓縮算法(RLE)記錄數(shù)據(jù)。第2章數(shù)字圖像處理基礎(chǔ)5.JPEG圖像格式JPEG(Joint
Photographer‘s
Experts
Group,聯(lián)合圖像家組)格式,是由ISO和CCITT為靜態(tài)圖像所建立的第一個國際數(shù)字圖像壓縮標(biāo)準(zhǔn)。由于JPEG具有高壓縮比和良好的圖像質(zhì)量,被廣泛應(yīng)用于多媒體和網(wǎng)絡(luò)程序中。
JPEG和GIF成為HTML語法選用的圖像格式。JPEG格式支持
24位顏色,并保留照片和其他連續(xù)色調(diào)圖像中存在的亮度和色相的顯著和細微變化。第2章數(shù)字圖像處理基礎(chǔ)2.5
OpenCV編程簡介OpenCV(Open
Source
Computer
Vision
Library)是一個開源、跨平臺的計算機視覺庫,可以運行在Linux、Windows和Mac
OS桌面操作平臺或Android和iOS移動操作
平臺上,提供了C++、C和Java接口,采用優(yōu)化的C/C++編寫,實現(xiàn)了圖像處理和計算機視覺的2500種優(yōu)化后的通用算法。第2章數(shù)字圖像處理基礎(chǔ)2.5.1
OpenCV簡介OpenCV的第一個預(yù)覽版本于2000年在IEEE
Conferenceon
Computer
Vision
and
Pattern
Recognition公開,并且后續(xù)提供了5個測試版本。
2006年OpenCV發(fā)布1.0版,2009年10月發(fā)布2.0版,主要的更新是增加了C++接口并對現(xiàn)有實現(xiàn)進行了優(yōu)化(特別是多核心特征),提供了使用更容易、類型更安全的新函數(shù)。目前最新版本是OpenCV
2.4.8。2012年8月,OpenCV由一個非盈利性組織(OpenCV.org)來維護,并保留了一個開發(fā)者網(wǎng)站(和用戶網(wǎng)站()。第2章數(shù)字圖像處理基礎(chǔ)OpenCV的內(nèi)建模塊功能強大且靈活多樣,這些模塊能夠解決計算機視覺系統(tǒng)中的大多數(shù)問題,可以實現(xiàn)人機互動、物體識別、圖像分割、人臉識別、動作識別、運動跟蹤、機器人視覺、運動分析、機器視覺和結(jié)構(gòu)分析等各種應(yīng)用領(lǐng)域的需求。
OpenCV提供了合理的編程架構(gòu)、內(nèi)
存管理及GPU支持。OpenCV的內(nèi)建模塊經(jīng)過高度優(yōu)化,可實現(xiàn)多平臺下實時處理應(yīng)用系統(tǒng)。
OpenCV提供的內(nèi)建模塊可粗略分類,如表2-8所示。第2章數(shù)字圖像處理基礎(chǔ)第2章數(shù)字圖像處理基礎(chǔ)1.OpenCV的安裝本書以32位Windows
7為操作平臺,Visual
Studio2012為集成開發(fā)環(huán)境IDE(對于其他平臺,可參考/index.html進行安裝)。
從OpenCV站下載OpenCV
for
Windows(opencv 2.4.8.exe
)文件。
雙擊該“opencv 2.4.8.exe”文件,將其解壓到本地磁盤上,如圖2-16所示。第2章數(shù)字圖像處理基礎(chǔ)圖2-16解壓OpenCV文件第2章數(shù)字圖像處理基礎(chǔ)按圖2-16解壓后,OpenCV的目錄結(jié)構(gòu)見圖2-17,其中build文件夾是編譯好的OpenCV二進制文件,sources文件夾是OpenCV源代碼文件。若需要特殊功能,可自行進行編譯。由于篇幅有限,在此不進行冗述,請讀者參考/doc/tutorials/tutorials.html進第2章數(shù)字圖像處理基礎(chǔ)圖2-17OpenCV目錄結(jié)構(gòu)第2章數(shù)字圖像處理基礎(chǔ)build文件夾結(jié)構(gòu)見圖2-18,保存了預(yù)編譯好的OpenCV二進制文件,由doc、include、java、python、x64和x86文件夾構(gòu)成。
doc文件夾中是OpenCV的參考文檔,include文件夾中是編寫OpenCV程序時應(yīng)包含的頭文件,x64、x86文件夾分別是64位和32位庫文件(lib文件)和動態(tài)鏈接
庫(dll文件),
java、python相關(guān)內(nèi)容請讀者自行查閱相關(guān)資料。第2章數(shù)字圖像處理基礎(chǔ)圖2-18build文件夾目錄結(jié)構(gòu)第2章數(shù)字圖像處理基礎(chǔ)include文件夾結(jié)構(gòu)見圖2-19,其中opencv內(nèi)是OpenCV2.0版本以前的C版本的頭文件,opencv2內(nèi)是OpenCV2.0版本以后的C++版本的頭文件,其中的各文件夾對應(yīng)了不同模塊的頭文件。典型的C++代碼中加載OpenCV模塊的#include形式建議如下:#include
<opencv2/core/core.hpp>#include
<opencv2/imgproc/imgproc.hpp>#include
<opencv2/highgui/highgui.hpp>第2章數(shù)字圖像處理基礎(chǔ)圖2-19include文件夾目錄結(jié)構(gòu)第2章數(shù)字圖像處理基礎(chǔ)當(dāng)然若采用舊的模式,可采用如下形式:#include“cv.h”x64、x86文件夾結(jié)構(gòu)相同,如圖2-20所示,包含有vc10(VS2010)、
vc11(VS2012)和vc12(VS2013)不同版本的編譯好的庫文件。例如vc11文件夾由bin、lib、staticlib三個文件來構(gòu)成,其中bin是動態(tài)鏈接庫文件,lib庫文件,staticlib是靜態(tài)庫文件。第2章數(shù)字圖像處理基礎(chǔ)圖2-20x64和x86文件夾目錄結(jié)構(gòu)第2章數(shù)字圖像處理基礎(chǔ)OpenCV解壓完成后,需要設(shè)置環(huán)境變量。右鍵單擊“我的電腦”→“屬性”→“高級”→“環(huán)境變量”,選中PATH,單擊編輯,在PATH的末尾添加以下路徑:C:\OpenCV\opencv\build\x86\vc11\bin,如圖2-21所示。第2章數(shù)字圖像處理基礎(chǔ)圖2-21配置環(huán)境變量第2章數(shù)字圖像處理基礎(chǔ)單擊“確定”按鈕即可完成OpenCV的安裝。注意:①各路徑間用英文分號“;”分割。②若是64位系統(tǒng),請將opencv\build\x86\vc11\binopencv\build\x64\vc11\bin。第2章數(shù)字圖像處理基礎(chǔ)2.Visual
Studio
2012開發(fā)環(huán)境配置配置Visual
Studio
2012開發(fā)環(huán)境的目的是告訴VS去什么地方尋找OpenCV的頭文件和庫文件。打開VS2012,選擇菜單“工具”→“選項”→“項目和解決方案”→“VC++目錄”,在VS2012中打開此選項,如圖2-22所示,顯示編輯功能被否決。第2章數(shù)字圖像處理基礎(chǔ)圖2-22解決方案屬性設(shè)置第2章數(shù)字圖像處理基礎(chǔ)可以在具體的項目中對特定的項目單擊右鍵后選擇“屬性”來設(shè)置,但此種設(shè)置無法被繼承,即每一個項目都需要單獨設(shè)置,過于繁瑣,因此需要一個能夠被繼承的全局設(shè)置的方法。具體如下:(1)打開VS2012,選擇“新建項目”→“win32控制臺項目”,如圖2-23所示。第2章數(shù)字圖像處理基礎(chǔ)圖2-23新建項目對話框第2章數(shù)字圖像處理基礎(chǔ)(2)注意選擇空項目,為了保證使用ANSI
C++特性,取消預(yù)編譯頭選項,單擊“完成”按鈕,創(chuàng)建項目,如圖2-24所示。圖2-24應(yīng)用程序向?qū)У?章數(shù)字圖像處理基礎(chǔ)(3)點擊“視圖”→“屬性管理器”,如圖2-25所示。圖2-25屬性管理器第2章數(shù)字圖像處理基礎(chǔ)(4)右鍵點擊“Debug
|
Win32”,選擇“添加新項目屬性表(p)…”,如圖2-26所示。圖2-26添加新項目屬性表第2章數(shù)字圖像處理基礎(chǔ)(5)編輯該新屬性表,點擊左側(cè)VC++目錄,編輯右側(cè)的包含目錄與庫目錄,分別添加對應(yīng)的路徑,如圖2-27和圖2-28所示。對應(yīng)的路徑如下:①包含目錄:C:\OpenCV\opencv\build\include。說明:可根據(jù)自己的情況,將其分別改為opencv\build\include文件夾所在的路徑。②庫目錄:C:\OpenCV\opencv\build\x86\vc11\l說明:可根據(jù)自己的路徑情況及操作系統(tǒng)是32位還是64位,將其改為對應(yīng)的路徑。第2章數(shù)字圖像處理基礎(chǔ)圖2-27編輯該新屬性表第2章數(shù)字圖像處理基礎(chǔ)圖2-28添加文件包含和庫文件路徑第2章數(shù)字圖像處理基礎(chǔ)(6)單擊“鏈接器”→“輸入”→“附加依賴項”,如圖2-29所示。圖2-29附加依賴項第2章數(shù)字圖像處理基礎(chǔ)如圖2-30所示,在附加依賴項里添加opencv\build\x86\vc11\lib文件夾里的lib文件名稱。圖2-30附加依賴項附加的OpenCV庫文件第2章數(shù)字圖像處理基礎(chǔ)opencv_calib3d248.libopencv_calib3d248d.libopencv_contrib248.libopencv_contrib248d.libopencv_core248.libopencv_core248d.libopencv_features2d248.libopencv_features2d248d.libopencv_flann248.libopencv_flann248d.libopencv_gpu248.lib第2章數(shù)字圖像處理基礎(chǔ)opencv_gpu248d.libopencv_highgui248.libopencv_highgui248d.libopencv_imgproc248.libopencv_imgproc248d.libopencv_legacy248.libopencv_legacy248d.libopencv_ml248.libopencv_ml248d.libopencv_nonfree248.lib第2章數(shù)字圖像處理基礎(chǔ)opencv_nonfree248d.libopencv_objdetect248.libopencv_objdetect248d.libopencv_ocl248.libopencv_ocl248d.libopencv_photo248.libopencv_photo248d.libopencv_stitching248.libopencv_stitching248d.libopencv_superres248.lib第2章數(shù)字圖像處理基礎(chǔ)opencv_superres248d.libopencv_ts248.libopencv_ts248d.libopencv_video248.libopencv_video248d.libopencv_videostab248.libopencv_videostab248d.lib說明:上面的庫為opencv\build\x86\vc11\lib里面文件,文件名后面有小寫字母“d”的為Debug庫(調(diào)試模式庫),無“d”的為Release庫(發(fā)布模式庫)。末尾的248是版本號。第2章數(shù)字圖像處理基礎(chǔ)3.測試程序添加C++源程序文件main.c,在main.c中添加如下代碼:#include
<opencv2/core/core.hpp>#include
<opencv2/highgui/highgui.hpp>int
main()第2章數(shù)字圖像處理基礎(chǔ){//
read
an
imagecv∷Mat
image=
cv∷imread(“tiger.jpg”);//
create
image
window
named
“My
Image”cv∷namedWindow(“My
Image”);//
show
the
image
on
windowcv∷imshow(“My
Image”,
image);//
wait
key
for
5000
mscv∷waitKey(5000);return
1;}第2章數(shù)字圖像處理基礎(chǔ)編譯運行,正確的情況下可以出現(xiàn)如圖2-31所示窗口。圖2-31OpenCV運行環(huán)境的測試第2章數(shù)字圖像處理基礎(chǔ)OpenCV的數(shù)據(jù)結(jié)構(gòu)2維點Point_2維點Point_類模板定義了公有數(shù)據(jù)成員x和y,重載了+、-、==、!=4個基本的操作,還定義了點乘、叉乘等操作。特別的是,這個類還提供了inside函數(shù)來判斷一個點是否在矩形區(qū)域內(nèi)。為了方便使用,OpenCV又對常用的類型進行了類型重定義:第2章數(shù)字圖像處理基礎(chǔ)typedef
Point_<int>
Point2i;typedef
Point2i
Point;typedef
Point_<float>Point2f;typedef
Point_<double>Point2d;例如:#include
<iostream>#include
<opencv2/core/core.hpp>#include
<opencv2/highgui/highgui.hpp>第2章數(shù)字圖像處理基礎(chǔ)using
namespace
std;using
namespace
cv;int
main(){Point2f
a(0.3f,
0.f),
b(0.f,
0.4f);Point
pt
=
(a
+
b)*10.f;cout
<<
pt.x
<<
“,
”
<<
pt.y
<<
endl;return
0;}輸出的結(jié)果:3,4第2章數(shù)字圖像處理基礎(chǔ)2.3維點Point3_類似于2維點,OpenCV同時提供了Point3_類模板,只不過它是一個3維點(x,y,z)。它的常用類型是:typedef
Point3_<int>
Point3i;typedef
Point3_<float>
Point3f;typedef
Point3_<double>
Point3d;第2章數(shù)字圖像處理基礎(chǔ)3.尺寸Size_類模板Size能夠訪問的成員變量是height和width,還定義了area函數(shù)來求面積。其他的操作基本都是類型轉(zhuǎn)化函數(shù)。它的常用類型是:typedef
Size_<int>
Size2i;typedef
Size2i
Size;typedef
Size_<float>
Size2f第2章數(shù)字圖像處理基礎(chǔ)4.矩形Rect_類模板矩形區(qū)域(x,y,width,height),(x,y)為左上角坐標(biāo),圍為[x,x+width),[y,y+height)。rect=rect±point//矩形偏移rect=rect±size//改變大小rect+=point,rect-=point,rect+=size,rect-=sizrect=rect1
&
rect2//矩形交集rect=rect1
|
rect2//包含rect1
rect2的最小矩形rect
&=rect1,rect
|=rect1rect
==
rect1,
rect
!=
rect1第2章數(shù)字圖像處理基礎(chǔ)5.旋轉(zhuǎn)矩形RotatedRect類除了基本的矩形之外,OpenCV還提供了一個可以旋轉(zhuǎn)的矩形RotatedRect,它是由中心、變長和旋轉(zhuǎn)角度決定的。可以訪問它的這三個成員,也可以使用points函數(shù)返回它的4個頂點,使用boundingRect求出它的外接矩形(非旋轉(zhuǎn))。例如:RotatedRect
rRect
=
RotatedRect(Point2f(100,100),Size2f(100,50),
30);第2章數(shù)字圖像處理基礎(chǔ)6.小矩陣Matx類模板該類模板用來記錄一些小的矩陣。這些矩陣在編譯前大小就固定了。常用類例包括:typedef
Matx<float,
1,
2>
Matx12f;typedef
Matx<double,
1,
2>
Matx12d;...typedef
Matx<float,
1,
6>
Matx16f;typedef
Matx<double,
1,
6>
Matx16d;typedef
Matx<float,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 養(yǎng)老院老人入住接待制度
- 養(yǎng)老院環(huán)境衛(wèi)生與綠化制度
- 《個性設(shè)計模板》課件
- 《目標(biāo)市場定位分析》課件
- 2024年度外聘講師知識產(chǎn)權(quán)保護與收益分配合同3篇
- 2024年生態(tài)修復(fù)項目育林施工協(xié)議模板版B版
- 腦卒中康復(fù)治療方案
- 2024年版:戴悅與周日的特許經(jīng)營合同
- 2025年莆田貨運考試
- 2025年焦作貨運資格證模擬考試題
- XX市XX醫(yī)院無痛醫(yī)院建設(shè)方案
- 新能源材料與器件PPT完整全套教學(xué)課件
- 張藝謀電影《活著》影評分析與課件展示
- 考后心態(tài)調(diào)整主題班會
- 東北育才中學(xué)2024年高二上數(shù)學(xué)期末經(jīng)典試題含解析
- 2023年公需科目考試試題及答案
- 年產(chǎn)1w噸生物柴油工廠設(shè)計-畢業(yè)(論文)設(shè)計
- 談?wù)勄嗄甏髮W(xué)生在中國式現(xiàn)代化征程上的使命與擔(dān)當(dāng)范文(6篇)
- DB13-T 5660-2023 水文水井分層抽水技術(shù)規(guī)范
- 二年級上冊綜合實踐測試卷
- 互聯(lián)網(wǎng)金融外文文獻翻譯
評論
0/150
提交評論