數字圖像處理與深度學習技術應用 課件 第4、5章 圖像幾何變換、圖像的灰度變化_第1頁
數字圖像處理與深度學習技術應用 課件 第4、5章 圖像幾何變換、圖像的灰度變化_第2頁
數字圖像處理與深度學習技術應用 課件 第4、5章 圖像幾何變換、圖像的灰度變化_第3頁
數字圖像處理與深度學習技術應用 課件 第4、5章 圖像幾何變換、圖像的灰度變化_第4頁
數字圖像處理與深度學習技術應用 課件 第4、5章 圖像幾何變換、圖像的灰度變化_第5頁
已閱讀5頁,還剩89頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第4章圖像幾何變換楊淑瑩本章目錄4.1仿射變換4.1.1平移

4.1.2

縮放

4.1.2旋轉4.2重映射4.2.1復制

4.2.2繞x軸翻轉

4.2.3繞y軸翻轉4.2.4繞x軸與y軸翻轉4.3投影變換4.3.1原理簡介4.3.2Python實現(xiàn)4.4極坐標變換4.4.1原理簡介

4.4.2Python實現(xiàn)4.5思考與練習設變換矩陣T為則上述變換可以用公式表示為基礎知識介紹--圖像幾何變換旋轉變換基礎知識介紹--常用的幾何變換平移變換

放縮變換將2×3階變換矩陣T進一步擴充為3×3方陣這樣一來,平移變換可以用如下形式表示:基礎知識介紹--平移變換矩陣平移變換的表示法變換后的點集矩陣=變換矩陣T×變換前的點集矩陣平移變換注意:平移后的景物與原圖像相同,但“畫布”一定是擴大了。否則就會丟失信息。比例縮放變換圖像的縮小一般分為按比例縮小和不按比例縮小兩種。不按比例縮小一定會帶來幾何畸變。

縮小后,信息量小,所以畫布可相應縮小。放大將原圖像的一個像素添到新圖像的一個k1*k2的子塊中去。比例縮放變換水平鏡像垂直鏡像應用旋轉變換圖像旋轉之后,會出現(xiàn)許多的空白點,對這些空白點必須進行填充處理,否則畫面效果不好,稱這種操作為插值處理。最簡單的方法是行插值或是列插值:1)插值的方法是:空點的像素值等于前一點的像素值。2)同樣的操作重復到所有行。旋轉變換對給定的圖像連續(xù)施行若干次如前所述的平移、鏡像、比例、旋轉等基本變換F1,F(xiàn)2,…,F(xiàn)N后,所完成的變換。復合變換的矩陣等于基本變換的矩陣按順序依次相乘得到的組合矩陣,又叫級聯(lián)變換。

T=TNTN-1…T1。若干次基本變換仍可用3×3階表示。復合變換復合平移復合比例復合旋轉基礎知識介紹---圖像的平移圖像中所有的點都按照指定的平移量水平、垂直移動。設初始坐標為(x0,y0)的點經過平移(tx.ty)后,則點(x0,y0)坐標變?yōu)?x1,y1)。

tx

坐標原點(x0,y0)

ty

(x0,y0)和(x1,y1)的關系:

x1=x0+tx

y1=y0+ty基礎知識介紹--圖像平移變換

圖像的鏡像變換水平鏡像:垂直中軸線為中心,將圖像分為左右兩部分;垂直鏡像:水平中軸線為中心,將圖像分為上下兩部分。

鏡像變換后圖的高和寬都不變。x1=Width-x0y1=y0圖像水平鏡像變換x1=x0

y1=Height-y0圖像垂直鏡像變換效果對比圖

圖像的轉置將圖像像素的x坐標和y坐標互換。將改變圖像的高度和寬度,轉置后圖像的高度和寬度將互換。

x1=y0

y1=x0圖像轉置效果對比圖圖像的旋轉必須指明圖像繞著什么旋轉。一般圖像的旋轉是以圖像的中心為原點,旋轉一定的角度。旋轉后,一般會改變圖像的大小。

旋轉后:

x1=x0cos(θ)+y0sin(θ)y1=-x0sin(θ)+y0cos(θ)圖像旋轉

效果對比圖

x1=x0*kx

y1=y0*ky

假設圖像X軸方向縮放比率是kx,Y軸方向縮放比率是ky。圖像的縮放

kx>1且ky>1時,原圖像被放大,面積增加。

由于放大圖像時產生了新的像素,可通過插值算法來近似處理。

當kx=ky=2時,圖像放大2倍,原圖中的某一個像素,對應新圖的4個像素。

●●●●

圖像放大

表3.11234234056776633

表3.21122334411223344223344002233440055667777556677776666333366663333圖像放大當kx<1且ky<1時,原圖像被縮小。當kx=ky=0.5時,被縮小一半。原圖中4個像素對應新圖中的一個像素。此時縮小后的圖像中的(0,0)像素對應于原圖中的(0,0)、(0,1)、(1,0)、(1,1)像素?!瘛?/p>

●●●圖像縮小效果對比圖仿射變換是指通過一系列幾何變換來實現(xiàn)平移、縮放、旋轉等操作。OpenCV中為仿射變換提供的仿射函數為cv2.warpAffine(),可以通過一個映射矩陣M來實現(xiàn)這種變換。由變換矩陣M與原始圖像矩陣相乘得到仿射變換函數cv2.warpAffine()的一般格式為:4.1

仿射變換4.1.1平移在已知變換矩陣M,cv2.warpAffine()完成圖像的平移操作?!纠?-1】使用仿射變換函數cv2.warpAffine()實現(xiàn)圖像的平移。importcv2ascvimportnumpyasnpimage=cv.imread("F:/picture/panda.png")#讀入panda圖像h,w=image.shape[:2]#獲取圖像大小信息M=np.float32([[1,0,120],[0,1,-120]])#構建轉換矩陣imageMove=cv.warpAffine(image,M,(w,h))#進行仿射變換——平移cv.imshow("image",image)#顯示原始圖像cv.imshow("imageMove",imageMove)#顯示變換后的圖像cv.waitKey()cv.destroyAllWindows()4.1.2縮放將原始圖像縮小為一半時,轉換矩陣M可以為:【例4-2】使用仿射變換函數cv2.warpAffine()實現(xiàn)圖像的縮放。importcv2ascvimportnumpyasnpimage=cv.imread("F:/picture/panda.png")#讀入panda圖像h,w=image.shape[:2]#獲取圖像大小信息M=np.float32([[0.5,0,0],[0,0.5,0]])#構建轉換矩陣imageMove=cv.warpAffine(image,M,(w,h))#進行仿射變換——縮放cv.imshow("image",image)#顯示原始圖像cv.imshow("imageMove",imageMove)#顯示變換后的圖像cv.waitKey()cv.destroyAllWindows()4.1.3旋轉旋轉操作時,cv2.getRotationMatrix2D()得到仿射變換函數cv2.warpAffine()的轉換矩陣。ret=cv2.getRotationMatrix2D(center,angle,scale)·center是旋轉的中心點?!ngle表示旋轉角度,正數為順時針旋轉,負數為逆時針旋轉。·scale表示變換尺度。【例4-3】使用仿射變換函數cv2.warpAffine()實現(xiàn)圖像的旋轉。

importcv2ascvimage=cv.imread("F:/picture/panda.png")#讀入panda圖像h,w=image.shape[:2]#獲取圖像大小信息#得到轉換矩陣M,效果是以圖像的寬高的1/3為中心點順時針旋轉40°,縮小為原來的0.4M=cv.getRotationMatrix2D((w/3,h/3),40,0.4)imageMove=cv.warpAffine(image,M,(w,h))#進行仿射變換——旋轉cv.imshow("image",image)#顯示原始圖像cv.imshow("imageMove",imageMove)#顯示變換后的圖像cv.waitKey()cv.destroyAllWindows()在仿射變換的過程中,物體的轉換都是在二維空間中完成的,但是如果物體在三維空間中發(fā)生了轉換,這種轉換一般叫投影變換。4.3投影變換4.3.1原理簡介因為投影變換是在三維空間內進行的,對其進行修正十分困難。如果物體是平面的,通過二維投影變換對此物體三維變換進行模型化,這就是專用的二維投影變換,可由如下公式描述:cv2.getPerspectiveTransform(src,dst)來計算投影變換矩陣,·dst表示目標圖像?!rc表示原始圖像。注意這里需要輸入4組對應的坐標變換,src和dst分別是4×2的二維矩陣,其中每一行代表一個坐標,而且數據類型必須是32位浮點型,否則會報錯。4.3.2Python實現(xiàn)類似于仿射變換,OpenCV提供了cv2.warpPerspective()函數來實現(xiàn)投影變換功能。cv2.warpPerspective(src,M,dsize[,dst[,flags[,borderMode[,borderValue]]]])·src表示原始的圖像?!表示投影變換矩陣?!size表示投影后圖像的大小?!lags表示插值方式?!orderMode表示邊界模式。·borderValue表示邊界值。其使用方法與仿射變換相似,只是輸入的變換矩陣變?yōu)?行3列的投影變換矩陣。

【例4-12】編寫程序,實現(xiàn)投影變換的圖像操作。

importcv2ascvimportnumpyasnpimage=cv.imread("F:/picture/panda.jpg")h,w=image.shape[:2]#讀取圖像的高和寬#原圖像的4個需要變換的像素點src=np.array([[0,0],[w-1,0],[0,h-1],[w-1,h-1]],np.float32)#投影變換的4個像素點dst=np.array([[80,80],[w/2,50],[80,h-80],[w-40,h-40]],np.float32)M=cv.getPerspectiveTransform(src,dst)#計算出投影變換矩陣#進行投影變換image1=cv.warpPerspective(image,M,(w,h),borderValue=125)#顯示圖像cv.imshow("image",image)cv.imshow("image1",image1)cv.waitKey()cv.destroyAllWindows()因為投影變換矩陣是由4組對應的坐標決定的,所以通過投影變換可以將一幅圖“放在”任何不規(guī)則的四邊形中,而仿射變換卻保持了線的平行性。圖4-12作者楊淑瑩敬上謝謝!第5章圖像灰度變換

楊淑瑩主要內容概述二值化和閾值處理灰度線性與分段線性變換灰度非線性變換直方圖5.1.1圖像增強對比度增強——電子顯微鏡下的花粉5.1.1圖像增強去除噪聲——電路板X光圖像5.1.1圖像增強突出細節(jié)——骨骼X光圖像5.1.1圖像增強圖象不清晰、不突出是多種因素造成的:采集中未突出所需部分,有干擾(噪音、散斑、運動模糊等等)。目標是比原圖像更適合于特定的應用,便于識別,人工或后繼處理。不同的問題適合采用不同的方法,評價結果好壞沒有統(tǒng)一的標準。圖像增強:不考慮降質原因,關心有用信息,抑制次要部分,去干擾,增強對比度。不一定要去逼近原圖像。復原技術:針對降質原因,設法補償降質因素,盡可能逼近原始圖像,恢復原圖。二者有重疊部分:增強帶有恢復性質,突出有用信息上,且是局部性恢復。圖像增強空間域圖像增強頻率域灰度變換空域濾波直接灰度變換直方圖修正法圖像的代數運算直方圖均衡化直方圖規(guī)定化圖像平滑圖像銳化高通濾波低通濾波帶通、帶阻濾波灰度變換圖像獲取中,經常出現(xiàn)以下情況(1)成像時光照不足,使得整幅圖像偏暗(2)成像時光照過強,使得整幅圖像偏亮(3)照射源或光敏器件本身動態(tài)范圍太小,使得整幅圖像的有用信息集中在灰度中間級。圖像灰度變換按一定變換關系,逐點改變原圖像中每一個像素灰度值的方法。是圖像增強處理技術中一種非?;A、直接的空間域圖像處理方法。目的是為了改善畫質,使圖像的顯示效果更加清晰。點運算輸入圖像為f(x,y),輸出圖像為g(x,y)點運算為:g(x,y)=T[f(x,y)]是一種像素的逐點運算。g僅僅依賴f在(x,y)點的值描述了輸入和輸出值之間的轉換關系。不改變空間位置關系。點運算又稱為“對比度增強”、“對比度拉伸”、“灰度變換”。灰度變換根據g(x,y)=T[f(x,y)],可以將灰度變換分為線性變換和非線性變換。灰度線性變換輸出灰度級與輸入灰度級呈線性關系的點運算。灰度線性變換如果a>1,輸出圖像的對比度增大。如果a<1,輸出圖像的對比度減小。如果a=1,b≠0,使所有像素的灰度值上移或下移,使整個圖像更暗或更亮。如果a=1,b=0時,輸出、輸入圖像相同。如果a為負值,暗區(qū)域將變亮,亮區(qū)域將變暗。分段線性變換為了突出感興趣的區(qū)間,抑制不感興趣區(qū)域,可采用分段線性變換。非線性變換輸出灰度級與輸入灰度級呈非線性關系的點運算。25512025521025512025530對數運算指數運算非線性變換問灰度變換屬于A點運算B領域運算5.2二值化和閾值處理經過閾值處理后的圖像變成了一幅黑白二值圖。實現(xiàn)步驟取得原圖的數據區(qū)指針。通過對話框輸入閾值T。所有像素依次循環(huán),若像素灰度值小于T,則將該像素置為0;否則置為255。ggff

0T1T22550T1T2255(a)0-255-0型灰度變換函數(b)255-0-255型灰度變換函數

雙固定閾值法雙固定閾值法(a)0-255-0方式(b)255-0-255方式實現(xiàn)步驟取得原圖數據區(qū)指針通過對話框輸入閾值1(T1)和閾值2(T2),并選擇方式(0-255-0)型或(255-0-255)型。若選擇方式0(0-255-0型),每個像素依次循環(huán),若該像素灰度值大于T1并且小于T2,則將其灰度值置為255,其余像素的灰度值置為0。若選擇方式1(255-0-255型),每個像素依次循環(huán),若該像素灰度值大于T1并且小于T2,則將其灰度值置為0,其余像素的灰度值置為255。5.3灰度線性與分段線性變換反色變換“顛倒黑白”適用于增強暗色區(qū)域的白色或灰色細節(jié)5.3灰度線性與分段線性變換窗口灰度變換灰度窗口變換的變換函數表達式如下:式中L表示窗口的下限,U表示窗口的上限。用于去除無用信息5.3灰度線性與分段線性變換分段線性變換分段線性的變換函數表達式如下:式中(x1,y1),(x2,y2)表示兩個轉折點坐標5.4灰度非線性變換灰度對數變換對數變換函數表達式如下:擴展低灰度值而壓縮高灰度值,讓圖像的灰度分布更加符合人的視覺特性。5.4灰度非線性變換灰度指數變換指數變換函數表達式如下:擴展高灰度值而壓縮低灰度值5.4灰度非線性變換灰度冪次變換冪次變換函數表達式如下:伽馬校正成像系統(tǒng)各部分的器件輸入——輸出特性都是一個冪函數為彌補圖像系統(tǒng)中的非線性傳輸環(huán)節(jié),需要伽馬校正5.4灰度非線性變換灰度冪次變換r=0.6,0.4,0.3暗圖像變亮5.4灰度非線性變換灰度冪次變換r=3.0,4.0,5.0亮圖像變暗5.5直方圖灰度直方圖表示圖像中具有某種灰度級的像素的個數,反映了圖像中每種灰度出現(xiàn)的頻率。它是圖像最基本的統(tǒng)計特征。橫坐標:灰度級;縱坐標:該灰度級出現(xiàn)的個數數組形式47325.5直方圖直方圖性質只反映該圖像中不同灰度值出現(xiàn)的次數(或頻數),而未反映某一灰度值像素所在位置。丟失了位置的信息。圖像與直方圖之間是多對一的映射關系。直方圖具有旋轉、平移不變性由于直方圖是對具有相同灰度值的像素統(tǒng)計得到的,因此,一幅圖像各子區(qū)的直方圖之和等于該圖像全圖的直方圖。5.5直方圖已知直方圖,可以恢復出原圖嗎?A可以B不可以5.5直方圖直方圖計算將每個像素灰度值看做一個隨機變量的樣本,直方圖是該變量的概率密度函數在離散形式下,用rk代表離散灰度級,nk為圖像中出現(xiàn)rk級灰度的像素數,n是圖像像素總數,而nk/n即為頻數。初始化:p[k]=0;k=0,…,L-1。統(tǒng)計:p[f(x,y)]++;x,y=0,…,M-1,0,…,N-1。歸一化:p(x,y)=p(x,y)/M

溫馨提示

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

評論

0/150

提交評論