圖像處理報告(共22頁)_第1頁
圖像處理報告(共22頁)_第2頁
圖像處理報告(共22頁)_第3頁
圖像處理報告(共22頁)_第4頁
圖像處理報告(共22頁)_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上數(shù)字圖像處理實驗報告姓名:學號:XX年XX月專心-專注-專業(yè)目錄實驗一 圖像的存取1實驗二 圖象直方圖統(tǒng)計3實驗三 圖像的線性變換6實驗四 圖像平滑消噪處理9實驗五 圖像中值濾波處理11實驗六 圖像銳化處理14實驗七 圖像勾邊處理16小 結20實驗一 圖像的存取一、 實驗目的1.熟悉圖像處理的一個開發(fā)環(huán)境VC+6.0。2.掌握VC+6.0環(huán)境下讀取位圖方式并能夠對位圖進行顯示。3.進行圖像*.bmp文件的讀寫等基本操作,實現(xiàn)圖像的二值化處理。二、 實驗內(nèi)容1. 實驗原理本實驗運用VC+6.0軟件中MFC AppWizard(exe)創(chuàng)建圖像處理工程,運用C+編程方法對

2、圖像進行處理。創(chuàng)建工程時選擇Single document,之后,導入圖片InsertResource,選擇相應Bitmap(位圖文件)。圖片的大小可以在屬性里得到,本實驗中圖片的大小為320*200,用FOR循環(huán)將一個個像素讀取出來,然后放大2倍的處理,然后寫出像素。此函數(shù)定義了三個形參:x,y,gred。其中,x,y仍然為橫縱坐標,gred為繪制點的灰度。2. 實驗算法:void CImageView:test()int x,y,gred;for(y=0;y<200;y+)for(x=0;x<320;x+)gred=ReadPixel(x,y);gred=gred*2;Writ

3、ePixel(x+400,y,gred);3. 結果與分析:(A)結果實驗結果截圖如下:(B)分析灰度處理函數(shù)說明:嵌套使用兩個for語句,逐一讀取圖像每個像素點的灰度值,再將其乘以二,輸出至原圖像左側400個像素點處。通過原圖像與灰度處理過的圖像對比可知灰度及表示灰度圖像的亮度?;叶瘸硕词乖瓐D像的亮度增加一倍。又由于灰度只取8位,原圖像灰度值超過128的像素點處理后會變成白色高光點。實驗二 圖象直方圖統(tǒng)計一、 實驗目的1、 熟悉直方圖的計算。2、 進一步熟悉圖像處理的基本方法:圖像的讀寫和修改。3、 復習VC+的圖形中的繪圖方法。4、 根據(jù)要求完成程序設計和調(diào)試。二、 實驗內(nèi)容1. 實驗原

4、理灰度級圖像的直方圖就是反應一幅圖像中的灰度級與出現(xiàn)這種灰度的概率之間的關系的圖形。對于數(shù)字圖像而言,圖像的灰度直方圖使一個一維離散函數(shù)。用rk代表離散灰度級,則圖像的直方圖p(rk)可以表示為: (k=0,1,2,,K-1),且有式中nk為圖像中出現(xiàn)rk這種灰度的像素,n是圖像中的總像素。而nk/n就是概率論中所說的頻數(shù),K是灰度級的總數(shù)。在直角坐標系中作出rk與p(rk)的關系圖像,這個圖形稱為灰度級的直方圖。圖像的灰度直方圖實際上是以圖像像素灰度出現(xiàn)的概率形式來直觀表達圖像的灰度分布信息。2. 實驗算法:void CImageView:test()int x,y,gred256=0;fo

5、r(y=0;y<200;y+)for(x=0;x<320;x+)gredReadPixel(x,y)+;for(int i=0;i<=255;i+)Drawline(i*3,333,gredi);Drawline2(0,334,3*256);定義兩個嵌套循環(huán),x,y分別為圖像橫縱坐標,因為是320*200的圖像,所以x的取值范圍是0320,y的取值范圍為0200。讀取每一個圖像像素的灰度值,分別對應存入gred數(shù)組保存,最后調(diào)用畫線函數(shù),將gred數(shù)組中的值畫出來即完成實驗要求。3. 結果與分析:(A)結果實驗結果截圖如下:(B)分析直方圖作圖函數(shù)說明:首先嵌套使用for語句

6、,實現(xiàn)對整個圖像像素點的掃描,用數(shù)組gred記錄每個灰度出現(xiàn)的次數(shù)。最后用for語句完整輸出直方圖。由于圖像像素點較多,為簡便,函數(shù)中只用相同灰度點出現(xiàn)次數(shù)之間的比例大小表示灰度出現(xiàn)的概率?;叶戎狈綀D只能反映圖像的灰度分布情況,而不能反映圖像像素的位置,即丟失了像素的位置信息。一幅圖像對應唯一的灰度直方圖,反之不成立。不同的圖像可對應相同的直方圖。一幅圖像分成多個區(qū)域,多個區(qū)域的直方圖之和即為原圖像的直方圖。從直方圖可以看出,本圖像像素灰度分布不是特別均勻,灰度較大的像素占得比例較大,而灰度較小的像素所占比例較小。實驗三 圖像的線性變換一、 實驗目的1、熟悉圖像的線性變換的基本原理。2、掌握圖

7、像的線性變換處理的計算機實現(xiàn)方法。3、驗證圖像的線性變化理論。4、觀察圖像線性變換處理結果。二、 實驗內(nèi)容1. 實驗原理對于灰度分布范圍較窄的圖像,我們采用圖像灰度線性變換方法,提高對比度,達到較為滿意的視覺效果。設變換前函數(shù)為f(x,y),灰度范圍為x0,y0,變換后函數(shù)為g(x,y),灰度范圍為x1,y1,則圖像灰度的線性變換可以表示為: 變換后的灰度區(qū)間比變換前的灰度區(qū)間要大,即圖像的灰度對比度提高了。將x1=0和y1=0,則圖像就能達到最大對比度這就是全程變換達到最大對比度。2. 實驗算法:本次試驗運用,將變換前函數(shù)為f(x,y),灰度范圍為x0,y0,賦予max ,min通過循環(huán)語句

8、實現(xiàn)圖像的灰度間距的變換,從而達到圖像的全程線性變換,程序如下:void CImageView:test()int x,y,gred,min,max;gred=ReadPixel(0,0);min=gred;max=gred;for(y=0;y<200;y+)for(x=0;x<320;x+)gred=ReadPixel(x,y);if(gred<=min) min=gred;if(gred>=max) max=gred;for(y=0;y<200;y+)for(x=0;x<320;x+)gred=ReadPixel(x,y);gred=(255/(max-

9、min)*(gred-min);WritePixel(x,y+200,gred);3. 結果與分析:(A)結果實驗結果截圖如下:(B)分析變換后的灰度區(qū)間比變換前的灰度區(qū)間要大,也就是說經(jīng)過現(xiàn)行變換后圖像的灰度對比度提高了,從而改善了圖像的視覺效果。如果改變后的灰度范圍取圖像的最大取值范圍,即gred=0和gred=255,則圖像就能達到最大對比度,使觀察者能更好地理解圖像,這就是全程變換達到最大對比度。經(jīng)過線性變換處理后,圖像明顯的清晰了很多,光線的亮度增強,增強了圖像的層次,提高了圖像的對比度。實驗四 圖像平滑消噪處理一、 實驗目的1、熟悉空間域圖像平滑的基本原理及基本方法,重點掌握均值濾

10、波法。2、掌握空間域圖像平滑均值濾波法的計算機實現(xiàn)方法。3、驗證空間域圖像平滑均值濾波法理論。4、觀察空間域圖像平滑均值濾波法處理的結果。二、 實驗內(nèi)容1. 實驗原理均值濾波,是簡單的圖像平滑化處理方法。它是用一個有奇數(shù)點的滑動窗口在圖像上滑動,將窗口中心點對應圖像像素點的灰度值用窗口內(nèi)的各個點的灰度值的平均值代替,如果滑動窗口規(guī)定了再取均值過程中窗口各個像素點所占的權重,則稱為加權均值濾波。定義一個N*N的模版數(shù)組。一幅N*N個像素的圖像f(x ,y),均值濾波后得到一幅圖像g(x, y),g(x ,y)由下式?jīng)Q定: 式中,x,y=0,1,2,···,N-1;S

11、是點領域中點的坐標的集合。2. 實驗算法: void CImageView:Smooth() int x,y,k,gred3;int result200320;for (y=0;y<200;y+)for (x=0;x<320;x+)for (k=0;k<3;k+)if (x+k-1>=0 && x+k-1<=320)gredk=ReadPixel(x-k-1,y);resultyx=1/3.0*(gred0+gred1+gred2);WritePixel(x+400,y,resultyx);3. 結果與分析:(A)結果實驗結果截圖如下:(B)分析在

12、經(jīng)過圖像平滑處理后,圖像中的鳥羽毛和背景的毛刺感變的不明顯,看過去沒有突兀感,平滑度較好,但是細節(jié)如邊界輪廓,線條等稍微變得模糊不清。實驗五 圖像中值濾波處理一、 實驗目的1. 進一步掌握空間域圖像平滑的基本原理及方法,重點掌握中值濾波法。2. 掌握空間域圖像平滑中值濾波法的計算機實現(xiàn)方法。3. 驗證空間域圖像平滑中值濾波法理論。4. 觀察空間域圖像平滑中值濾波法處理的結果。二、 實驗內(nèi)容1. 實驗原理中值濾波,也是圖像平滑空間域中處理方法之一。種植鋁箔實現(xiàn)的基本原理是對應的像素點的灰度值用窗口內(nèi)的中間值代替,即數(shù)字圖像或數(shù)字序列中一點的值用改點的一個鄰域中各點的中值代替。一組數(shù),把各數(shù)按值得

13、大小順序排列于下n為偶數(shù)n為奇數(shù)y稱為序列的中值。把一個點得特定長度或形狀的鄰域稱為窗口。在一維情況下,中值濾波器是一個含有奇數(shù)個像素的滑動窗口。窗口正中間那個像素的值用窗口內(nèi)各個像素的中值代替。中值濾波適用于圖像由較大色塊組成,而噪聲特點是孤立點形式存在的圖像。中值濾波可以有效消除噪聲,而較好的保留圖像的邊緣。避免了局域平均法帶來的邊界模糊的負面影響。在排序后的各個灰度中,采用最中間的灰度值代替選定像素點得灰度,這樣的做法便達到了中值濾波的作用,容易去除孤立的噪聲點。2. 實驗算法:int CImageView:Med(int a,int b,int c) if (b<=a &

14、& a<=c | c<=a && a<=b) return a;if (a<=b && b<=c | c<=b && b<=a) return b;if (b<=c && c<=a | a<=c && c<=b) return c;void CImageView:Process()int x,y;int ori200320;int result200320;for (y=0;y<200;y+)for (x=0;x<320;x+)o

15、riyx=ReadPixel(x,y);for (y=1;y<200-1;y+)for (x=0;x<320-1;x+)resultyx=Med(oriyx-1,oriyx,oriyx+1);for (y=1;y<200-1;y+)for (x=0;x<320-1;x+)WritePixel(x+400,y,resultyx);3. 結果與分析:(A)結果實驗結果截圖如下:(B)分析模板如下:在很強的脈沖干擾下,灰度值的干擾值與鄰近像素的灰度值有很大的差異,因此排序后取中值的結果是強迫將此干擾點變成與鄰近的某些像素的灰度值一樣,較好地保留了圖像的邊緣。避免了局域平均法帶

16、來的邊界模糊的負面影響,消除了圖像上的一條白色豎線。實驗六 圖像銳化處理一、 實驗目的1. 熟悉圖像銳化的基本原理。2. 掌握圖像銳化處理的計算機實現(xiàn)方法。3. 驗證圖像銳化處理的結果。4. 觀察圖像銳化處理的結果。二、 實驗內(nèi)容1. 實驗原理圖像銳化處理的目的是為了使圖像的邊緣,輪廓線以及圖像的細節(jié)變得清晰,其處理主要應用于增強圖像的邊緣及灰度跳變部分,通常講的勾邊增強就是圖像銳化處理。我們對圖像增強的過程中,采用一簡單的高頻濾波增強方法:G(x,y)=|f(x,y)-f(x+1,y)|+|f(x,y)+f(x,y+1)|2. 實驗算法:void CImageView:Sharpen()in

17、t x,y;int ori200320;int result200320;for (y=0;y<200;y+)for (x=0;x<320;x+)oriyx=ReadPixel(x,y);for (y=1;y<200-1;y+)for (x=1;x<320-1;x+)resultyx=(1+4*ALPHA)*oriyx-ALPHA*(oriy-1x+oriy+1x+oriyx-1+oriyx+1);for (y=0;y<200;y+)for (x=0;x<320;x+)WritePixel(x+400,y,resultyx);3. 結果與分析:(A)結果實驗

18、結果截圖如下:(B)分析模板如下:本實驗成功實現(xiàn)了=0.1的圖像的四鄰點銳化,使圖像的邊緣、輪廓線以及圖像的細節(jié)變的清晰,取得了較好的效果。在具體實現(xiàn)過程中,上述模板的各個系數(shù)都可以改變,系數(shù)的選擇也很重要,太大了會使圖像的輪廓過沖,太小了則圖像銳化不明顯。圖像銳化處理函數(shù)說明:圖像增強過程中,使用梯度邊緣檢測算子:,總梯度為 取閾值10。模板,其中=0.4.實驗七 圖像勾邊處理一、 實驗目的1. 熟悉圖像勾邊處理的基本原理。2. 掌握圖像勾邊處理的計算機實現(xiàn)方法。3. 驗證圖像勾邊處理理論。4. 觀察圖像勾邊處理的結果。二、 實驗內(nèi)容(原理,算法及結果分析)1. 實驗原理數(shù)字圖像的邊緣檢測是

19、圖像分割,目標區(qū)域的識別,區(qū)域形狀提取等圖像分析領域十分重要的基礎,圖像理解和分析的第一步往往就是邊緣檢測,目前它已成為機器視覺研究領域最活躍的課題之一,在工程應用中占有十分重要的地位。 梯度邊緣檢測方法梯度運算是一種不受施加運算方向限制的算子,既能檢測出邊緣的存在,又與施加運算的方向無關??偺荻葹椋篺(x,y)-f(x+1,y)+f(x,y+1)Roberts邊緣檢測算子Roberts邊緣檢測算子根據(jù)任意一對互相垂直方向上的差分可用來計算梯度的原理,采用對角線方向相鄰兩像素之差來表示總梯度,即:它們的卷積算子為:2. 實驗算法:void CImageView:Gradient()int x,

20、y;int ori200320,g200320;int dfx,dfy,df;for (y=0;y<200;y+)for (x=0;x<320;x+)oriyx=ReadPixel(x,y);for (y=0;y<200-1;y+)for (x=0;x<320-1;x+)dfx=abs(oriyx+1-oriyx);dfy=abs(oriy+1x-oriyx);df=dfx+dfy;gyx=abs(df)>80?255:0;for (y=0;y<200;y+)for (x=0;x<320;x+)WritePixel(x+320,y,gyx);void

21、CImageView:Prewitt()int x,y;int f200320,p200320;for (y=0;y<200;y+)for (x=0;x<320;x+)fyx=ReadPixel(x,y);for (y=1;y<200-1;y+)for (x=1;x<320-1;x+)pyx=abs(fy-1x-1+fyx-1+fy+1x-1)-(fy-1x+1+fyx+1+fy+1x+1)+abs(fy-1x-1+fy-1x+fy-1x+1)-(fy+1x-1+fy+1x+fy+1x+fy+1x+1);for (y=1;y<200-1;y+)for (x=1;x<320-1;x+)if (pyx>80)WritePixel(x+320,y+200,0);elseWritePixel(x+320,y+200,255);void CImageView:roberts()int x,y;int a200320,b200320;int dfx,dfy,df;for (y=0;y<200;y+)for (x=0;x<320;x+)ayx=ReadPixel(x,y);for (y=0;y<200-1;y+)for (

溫馨提示

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

評論

0/150

提交評論