第一篇:數(shù)字圖像處理之圖像復原總結(jié)
數(shù)字圖像處理之圖像復原技術總結(jié)
圖像采集、傳送和轉(zhuǎn)換過程中,會加入一些噪聲,表現(xiàn)為圖像模糊、失真和有噪聲等。
圖像復原技術是根據(jù)圖像退化的先驗知識建立一個退化模型,以此模型為基礎,采用各種逆退化處理方法進行恢復,得到質(zhì)量改善的圖像
圖像噪聲模型
CCD攝像機獲取圖像時,光照強度和傳感器的溫度是產(chǎn)生噪聲的主要原因。
噪聲:不期望接收到的信號(相對于期望接收到的信號而言)圖像噪聲按照噪聲和信號之間的關系可以分為加性噪聲和乘性噪聲。
加性噪聲一般指熱噪聲、散彈噪聲等,它們與信號的關系是相加,不管有沒有信號,噪聲都存在。一般應該考慮為高斯噪聲吧
1.高斯噪聲(正態(tài)噪聲)----源于電子電路噪聲和由低照明度或高溫帶來的傳感器噪聲,CCD噪聲
高斯噪聲可以通過空域濾波的平滑或者圖像復原技術來消除 P(z)= 1/(sqrt(2*pi*σ))*exp(-(z-μ)^2/(2*σ^2))
2.椒鹽噪聲--(雙極)脈沖噪聲(成像中的短暫停留,例如錯誤的開關操作)P(z)=Pa,z=a Pb,z=b 0,other
椒鹽噪聲是指圖像中出現(xiàn)的噪聲只有兩種灰度值,分別是a和b,這兩種灰度值出現(xiàn)的概率分別是Pa和Pb 均值是 m = a*Pa+b*Pb
方差是 σ^2 =(a-m)^2*Pa +(b-m)^2*Pb
通常情況下,脈沖噪聲總是數(shù)字化為允許的最大值或最小值。負脈沖為黑點,正脈沖為白點。因此該噪聲稱為椒鹽噪聲,去除噪聲的較好方法是中值濾波
3.均勻分布噪聲(模擬隨機數(shù)產(chǎn)生器)均勻分布噪聲的概率密度函數(shù)為: P(z)= 1/(b-a),a<=z<=b*Pb 0,other
均勻分布噪聲的期望和方差分別為: m =(a+b)/2
σ^2 =(b-a)^2/12
4.指數(shù)分布噪聲(激光成像)指數(shù)分布噪聲的概率密度函數(shù)為: P(z)= a*exp(-a*z),z>=0, 0,z<0
指數(shù)分布噪聲的期望和方差分別為: m= 1/a,σ^2 = 1/a^2
5,伽馬分布噪聲(激光成像)伽馬分布噪聲的概率密度函數(shù)為:
P(z)=(a^b*z^(b-1))/(b-1)!*exp(-a*z)伽馬分布噪聲的期望和方差分別為: m = b/a,σ^2 = b/a^2 6.瑞利噪聲
空域中的濾波復原
均值濾波復原 算術均值濾波器 幾何均值濾波器 逆諧波均值濾波器
可以用于消除椒噪聲或者鹽噪聲 順序統(tǒng)計濾波復原
中值濾波、最大值濾波和最小值濾波
中值濾波可以很好的保留圖像的邊緣,非常適合去除椒鹽噪聲,效果優(yōu)于均值濾波 二維中值濾波 J = medianfilt2(I)
最大值濾波器也能夠去除椒鹽噪聲,但會從黑色物體的邊緣去除一些黑色像素
最小值濾波器會從白色物體的邊緣去除一些白色像素 二維排序濾波 J = ordfilt2(I,order,domain)最大值濾波 J = ordfilt2(I,9,ones(3))最小值濾波 J = ordfilt2(I,1,ones(3))自適應濾波復原
wiener2()自適應維納濾波
圖像復原算法
逆濾波復原
在頻域上使用退化后觀察得到的圖像頻域值來除去退化函數(shù),得到近似于原圖像的估計圖像,然后通過傅里葉逆變換得到原圖像的估計值
維納濾波復原(對運動模糊圖像進行復原)deconvwnr()進行圖像的維納濾波復原
約束最小二乘法復原 deconvreg()
Lucy-Richardson復原
deconvlucy()采用加速收斂的Lucy-Richardson算法對圖像進行復原
盲解卷積復原
在實際應用中,經(jīng)常在不知道PSF的情況下對圖像進行復原。其優(yōu)點在于對退化圖像沒有先驗知識的情況下,仍然能夠進行復原 deconvblind();
第二篇:數(shù)字圖像處理——彩色圖像實驗報告
6.3實驗步驟
(1)對彩色圖像的表達和顯示
* * * * * * * * * * * *顯示彩色立方體* * * * * * * * * * * * *
rgbcube(0,0,10);
%從正面觀察彩色立方體
rgbcube(10,0,10);%從側(cè)面觀察彩色立方 rgbcube(10,10,10);%從對角線觀察彩色立方體
%* * * * * * * * * *索引圖像的顯示和轉(zhuǎn)換* * * * * * * * * f=imread('D:PictureFig0604(a)(iris).tif');figure,imshow(f);
%f是RGB真彩圖像
%rgb圖像轉(zhuǎn)換成8色索引圖像,不采用抖動方式
[X1,map1]=rgb2ind(f,8,'nodither');figure,imshow(X1,map1);
%采用抖動方式轉(zhuǎn)換到8色索引圖像
[X2,map2]=rgb2ind(f,8,'dither');figure,imshow(X2,map2);%顯示效果要好一些 g=rgb2gray(f);
%f轉(zhuǎn)換為灰度圖像
g1=dither(g);
%將灰色圖像經(jīng)過抖動處理,轉(zhuǎn)換打二值圖像figure,imshow(g);
%顯示灰度圖像
figure,imshow(g1);
%顯示抖動處理后的二值圖像
程序運行結(jié)果:
*
彩色立方體原圖
不采用抖動方式轉(zhuǎn)換到8色索引圖像采用抖動方式轉(zhuǎn)換到8色索引圖像
灰度圖像抖動處理后的二值圖像
(2)彩色空間轉(zhuǎn)換
f=imread('D:PictureFig0604(a)(iris).tif');figure,imshow(f);
%轉(zhuǎn)換到NTSC彩色空間
%f是RGB真彩圖像
ntsc_image=rgb2ntsc(f);
figure,imshow(ntsc_image(:,:,1));%顯示亮度信息 figure,imshow(ntsc_image(:,:,2));%顯示色差信息 figure,imshow(ntsc_image(:,:,3));%顯示色差信息
%轉(zhuǎn)換到HIS彩色空間
hsi_image=rgb2hsi(f);
figure,imshow(hsi_image(:,:,1));%顯示色度信息 figure,imshow(hsi_image(:,:,2));%顯示飽和度信息 figure,imshow(hsi_image(:,:,3));%顯示亮度信息
程序運行結(jié)果:
原圖
轉(zhuǎn)換到NTSC彩色空間
顯示亮度信息顯示色差信息顯示色差信息
轉(zhuǎn)換到HIS彩色空間
顯示色差信息顯示飽和度信顯示亮度信息
(3)彩色變換
f=imread('D:PictureFig0614(a)(Chalk Original).tif');
G=ice('image',f);
%打開ice窗口對圖像進行調(diào)整
%在窗口中執(zhí)行以下操作:
%a)得到圖像的補色
%b)拖動映射曲線,對圖像顯示效果進行修改
%c)在顏色通道中選中某一顏色,然后對映射曲線進行修改
程序運行結(jié)果(1):
全彩色圖片ICE窗口
它的補色ICE窗口
拖動映射曲線,圖像的顯示效果
ICE窗口
f2=imread('D:Picture JLK Magenta.tif');figure,imshow(f2);%在CMYK彩色空間內(nèi)打開圖像 選擇Red
ICE窗口
g2=ice('image',f2,'space','CMYK');
%f2的圖像色彩偏紅,拖動映射曲線,%調(diào)整映射參數(shù),使圖像的色彩看起來比較正常。
程序運行結(jié)果(2)
原圖
在CMYK彩色空間內(nèi)打開圖像
調(diào)整映射參數(shù)后
ICE窗口
(4)彩色空間濾波
%* * * * * * * * * * * * * * * * * * * * 彩色圖像平滑 * * * * * * * * * * * * * * * * * * * * * *
fc=imread('D:PictureFig0604(a)(iris).tif');figure,imshow(fc);h=rgb2hsi(fc);
H=h(:,:,1);
S=h(:,:,2);
I=h(:,:,3);
%轉(zhuǎn)換到HIS彩色空間
%色度分量
%飽和度分量
%亮度分量
%25×25的方形平滑算子 w=fspecial('average',25);
I_filtered=imfilter(I,w,'replicate');%對亮度分量進行平滑操作 H1=cat(3,H,S,I_filtered);%將H、S、I三個分量重新組合起來f=hsi2rgb(H1);
f=min(f,1);
%轉(zhuǎn)換到RGB彩色空間
%f的值控制在[0,1]之間
figure,imshow(f);
%彩色圖像平滑處理 %* * * **** * * * * * * * * * * * * 彩色圖像銳化 * * * * * * * * * * * * * * * * * * * * * *
fb=imread('D:PictureFig0604(a)(iris).tif');lapmask=[1 1 1;1-8 1;1 1 1];%拉普拉斯算子 g=imfilter(fb,lapmask,'replicate');%拉普拉斯算子處理 figure,imshow(g);
%圖像銳化后與原圖像相減
fen=imsubtract(fb,g);
figure,imshow(fen);%顯示差值圖像
程序運行結(jié)果:
原圖彩色圖像平滑處理
拉普拉斯算子處理
銳化處理
(5)彩色圖像分割
%* * * * * * * * * * * * * * * * * 彩色邊緣檢測* * * * * * * * * * * *
close all;clear;clc;
f=imread('iris.tif');%f如圖6-4所示
%直接計算彩色邊緣VG,并得到對單獨彩色平面的二維梯度求和形成的梯度PPG
[VG,A,PPG]=colorgrad(f);
figure,imshow(VG,[ ]);
%顯示彩色梯度圖像 figure,imshow(A,[ ]);
%顯示彩色梯度對應的角度圖像
figure,imshow(PPG,[ ]);
%顯示分量梯度圖像
g=VG-PPG;
%計算兩種梯度方法得到的梯度之差 figure,imshow(g,[ ]);
程序運行結(jié)果:
%顯示差值圖像
彩色梯度圖像 彩色梯度對應的角度圖像
分量梯度圖像兩種梯度差值圖像
%* * * * * * * * * * * * * * * * * 彩色圖像分割 * * * * * * * * * * * * * * * * * * * * * * * * *
f=imread('jupitermoon.tif');%f如圖6-4所示 mask=roipoly(f);
%取得選定區(qū)域圖像的紅色分量
%手工選定圖中紅色區(qū)域
R=immultiply(mask,f(:,:,1));
%取得選定區(qū)域圖像的綠色分量
G=immultiply(mask,f(:,:,2));%取得選定區(qū)域圖像的藍色分量
B=immultiply(mask,f(:,:,3));
g=cat(3,R,G,B);
%取得選定區(qū)域的RGB圖像 figure,imshow(g);
%顯示取得選定區(qū)域
[M,N,K]=size(g);
%選定區(qū)域的大小
I=reshape(g,M*N,3);
%對g中的像素進行重排,按列序拉成一行 idx=find(mask);
%找到mask中的像素在重排后的圖像g中位置 I=double(I(idx,1:3));
%轉(zhuǎn)換到double類型 [C,m]=covmatrix(I);
%計算協(xié)方差矩陣C主對角線上的元素,即方差 %>>sd=sqrt(d)%求得這些元素的平方根,即均方差
均方差
%用歐式距離對圖像進行彩色分割,閾值為25
E25=colorseg('euclidean',f,25,m);E251=f;E251(E25==0)=0 figure,imshow(E251,[]);
%用馬氏距離對圖像進行彩色分割,閾值為25 M25=colorseg('mahalanobis',f,25,m,C);figure , imshow(M25 , [ ]);程序運行結(jié)果:
原圖選定區(qū)域
歐氏距離彩色分割馬氏距離彩色分割
6.4 思考題
(1)請將圖6-1所示的彩色圖像轉(zhuǎn)換到灰度圖像,并根據(jù)灰度值對此灰度圖像進行索引化,手工指定索引表中的RGB值,并把此索引圖像顯示出來。
程序代碼如下
%思路:把原圖想轉(zhuǎn)換為128位索引圖
close all;clear;clc;%將f從灰度圖像轉(zhuǎn)換為索引圖像,x是索引圖像; %map是索引矩陣,R,G,B的值都相等
f=imread('D:PictureRGB_iris.tif');figure,imshow(f);
%f是RGB圖像 f1=rgb2gray(f);
%將f轉(zhuǎn)換成灰度圖像 figure,imshow(f1);[x,map]=gray2ind(f1,128);
figure,imshow(x);%將map中的值做下面改變則R,G,B的值不相等,產(chǎn)生彩色
%把灰度圖像轉(zhuǎn)化成128位的索引圖
map(1,:)=0.5;map(: ,1)=0.5;map(2,:)=0.4;map(1,1)=0;figure,imshow(f1,map);
程序運行結(jié)果:
原RGB圖像
灰度圖像
索引圖 修改索引表后的圖像
(2)6.3節(jié)的(4)是將圖像轉(zhuǎn)換到HIS空間后再對亮度分量進行平滑操作,試直接對原圖像的RGB三個分量分別進行平滑操作,并計算兩種操作方法的圖像差值。
程序代碼如下:
f=imread('D:PictureRGB_iris.tif');figure,imshow(f);%直接對原圖像的RGB三個分量分別進行平滑操作 H=f(:,:,1);
S=f(:,:,2);
I=f(:,:,3);
%色度分量
%飽和度分量
%亮度分量
%25×25的方形平滑算子 w=fspecial('average',25);
H_filtered=imfilter(H,w,'replicate');
%對色度分量進行平滑操作 S_filtered=imfilter(S,w,'replicate');
%對飽和度分量進行平滑操作 I_filtered=imfilter(I,w,'replicate');
%對亮度分量進行平滑操作 %將H、S、I三個分量重新組合起來
Ha=cat(3,H_filtered,S_filtered,I_filtered);Ha=im2double(Ha);
%轉(zhuǎn)化成double類型 figure,imshow(Ha);%轉(zhuǎn)換到HIS彩色空間 h=rgb2hsi(f);
%轉(zhuǎn)換到HIS彩色空間
H=h(:,:,1);
S=h(:,:,2);
I=h(:,:,3);
%色度分量
%飽和度分量 %亮度分量 %25×25的方形平滑算子 w=fspecial('average',25);
I_filtered=imfilter(I,w,'replicate');%對亮度分量進行平滑操作 %將H、S、I三個分量重新組合起來 H1=cat(3,H,S,I_filtered);fb=hsi2rgb(H1);
%轉(zhuǎn)換到RGB彩色空間 fb=min(fb,1);
figure,imshow(fb);
%f的值控制在[0,1]之間
%彩色圖像平滑處理
fen=imsubtract(Ha,fb);figure,imshow(fen);程序運行結(jié)果:
%計算兩中方式處理后圖像的差值
原圖
直接對RGB三分量進行平滑操作轉(zhuǎn)換到HIS空間對亮度進行平滑操作
差值圖像
試驗中的問題和心得體會:
本次實驗是彩色圖像處理。
(1)通過這個實驗我了解了RGB圖像以及索引圖像在MATLAB中的存儲和詢問方式
(2)了解RGB空間到其他彩色空間的轉(zhuǎn)換方式和轉(zhuǎn)換方法(3)知道了一些彩色圖像的空間濾波方法(4)了解在RGB向量空間中檢測彩色邊緣的方法(5)了解在RGB向量空間中對圖像進行分割的方法
遇到的問題:在做思考題(2)的時候,計算兩種平滑處理的得到圖像的差值的中程序出現(xiàn)了問題,經(jīng)過看出錯信息,認真檢查程序后,發(fā)現(xiàn)是因為直接平滑處理的圖像是unit8類型的,而轉(zhuǎn)換到HIS空間后,得到的圖像是double類型,二者的類型不同,導致使用imsubtract函數(shù)的時候出現(xiàn)了問題。感覺做matlab的實驗和平時編寫C代碼的時候有很多地方是相同的,都會經(jīng)歷:編碼,debug,正確這三個過程,這個過程本身就具有挑戰(zhàn)性和趣味性。
第三篇:數(shù)字圖像處理圖像變換實驗報告
數(shù)字圖象處理實驗指導書
實驗一 圖象變換實驗
實 驗
實驗名稱:圖像處理姓名:劉強
班級:電信
學號:
報 告
1102
1404110128
數(shù)字圖象處理實驗指導書
實驗一 圖象變換實驗
實驗一 圖像變換實驗——圖像點運算、幾何變換及正交變換
一、實驗條件
PC機 數(shù)字圖像處理實驗教學軟件
大量樣圖
二、實驗目的
1、學習使用“數(shù)字圖像處理實驗教學軟件系統(tǒng)”,能夠進行圖像處理方面的簡單操作;
2、熟悉圖像點運算、幾何變換及正交變換的基本原理,了解編程實現(xiàn)的具體步驟;
3、觀察圖像的灰度直方圖,明確直方圖的作用和意義;
4、觀察圖像點運算和幾何變換的結(jié)果,比較不同參數(shù)條件下的變換效果;
5、觀察圖像正交變換的結(jié)果,明確圖像的空間頻率分布情況。
三、實驗原理
1、圖像灰度直方圖、點運算和幾何變換的基本原理及編程實現(xiàn)步驟
圖像灰度直方圖是數(shù)字圖像處理中一個最簡單、最有用的工具,它描述了一幅圖像的灰度分布情況,為圖像的相關處理操作提供了基本信息。
圖像點運算是一種簡單而重要的處理技術,它能讓用戶改變圖像數(shù)據(jù)占據(jù)的灰度范圍。點運算可以看作是“從象素到象素”的復制操作,而這種復制操作是通過灰度變換函數(shù)實現(xiàn)的。如果輸入圖像為A(x,y),輸出圖像為B(x,y),則點運算可以表示為:
B(x,y)=f[A(x,y)] 其中f(x)被稱為灰度變換(Gray Scale Transformation,GST)函數(shù),它描述了輸入灰度值和輸出灰度值之間的轉(zhuǎn)換關系。一旦灰度變換函數(shù)確定,該點運算就完全確定下來了。另外,點運算處理將改變圖像的灰度直方圖分布。點運算又被稱為對比度增強、對比度拉伸或灰度變換。點運算一般包括灰度的線性變換、閾值變換、窗口變換、灰度拉伸和均衡等。
圖像幾何變換是圖像的一種基本變換,通常包括圖像鏡像變換、圖像轉(zhuǎn)置、圖像平移、圖像縮放和圖像旋轉(zhuǎn)等,其理論基礎主要是一些矩陣運算,詳細原理可以參考有關書籍。
實驗系統(tǒng)提供了圖像灰度直方圖、點運算和幾何變換相關內(nèi)容的文字說明,用戶在操作過程中可以參考。下面以圖像點運算中的閾值變換為例給出編程實現(xiàn)的程序流程圖,如下:
數(shù)字圖象處理實驗指導書
實驗一 圖象變換實驗
2、圖像正交變換的基本原理及編程實現(xiàn)步驟 數(shù)字圖像的處理方法主要有空域法和頻域法,點運算和幾何變換屬于空域法。頻域法是將圖像變換到頻域后再進行處理,一般采用的變換方式是線性的正交變換(酉變換),主要包括傅立葉變換、離散余弦變換、沃爾什變換、霍特林變換和小波變換等。正交變換被廣泛應用于圖像特征提取、圖像增強、圖像復原、圖像壓縮和圖像識別等領域。
正交變換實驗的重點是快速傅立葉變換(FFT),其原理過于復雜,可以參考有關書籍,這里不再贅述。至于FFT的編程實現(xiàn),系統(tǒng)采用的方法是:首先編制一個一維FFT程序模塊,然后調(diào)用該模塊對圖像數(shù)據(jù)的列進行一維FFT,再對行進行一維FFT,最后計算并顯示幅度譜。程序流程圖如下:
四、實驗內(nèi)容
圖像灰度直方圖
點運算:圖像反色、灰度線性變換、閾值變換、窗口變換、灰度拉伸和灰度
數(shù)字圖象處理實驗指導書
實驗一 圖象變換實驗
均衡
幾何變換:圖像鏡像變換、圖像轉(zhuǎn)置、圖像平移、圖像縮放和圖像旋轉(zhuǎn) 正交變換:傅立葉變換、離散余弦變換、沃爾什變換、霍特林變換和小波正反變換
注意:
1、所有實驗項目均針對8位BMP灰度圖像進行處理,其它格式(如JPG)的圖像可以利用系統(tǒng)提供的圖像格式轉(zhuǎn)換工具進行轉(zhuǎn)換,再進行處理;
2、本次實驗的重點是圖像的灰度直方圖和點運算,幾何變換和正交變換只作一般性了解。
五、實驗步驟
以圖像灰度閾值變換為例說明實驗的具體步驟,其它實驗項目的步驟與此類似。
1、打開計算機,在系統(tǒng)桌面上雙擊“數(shù)字圖像處理實驗教學軟件系統(tǒng)”的可執(zhí)行文件“圖象處理”的圖標,進入實驗系統(tǒng);
2、執(zhí)行文件→打開,在OPEN對話框中選擇待處理的圖像,按【OK】后系統(tǒng)顯示出圖像;
3、執(zhí)行查看→圖像基本信息,將顯示圖像基本信息對話框,如圖所示;
數(shù)字圖象處理實驗指導書
實驗一 圖象變換實驗
4、執(zhí)行查看→灰度直方圖,查看圖像的灰度直方圖,如圖所示;
5、執(zhí)行圖像變換→正交變換→傅立葉變換,查看圖像的頻率域分布情況,如圖所示;
數(shù)字圖象處理實驗指導書
實驗一 圖象變換實驗
6、執(zhí)行圖像變換→正交變換→小波變換,查看圖像經(jīng)過小波變換的效果,如圖所示;
7、執(zhí)行圖像變換→點運算→閾值變換,修改閾值變換對話框中的閾值參數(shù),如圖所示;
數(shù)字圖象處理實驗指導書
實驗一 圖象變換實驗
8、設置完閾值參數(shù)后按【OK】,系統(tǒng)顯示閾值變換后的圖像,與原圖像進行比較,觀察閾值變換的效果,如圖所示;
9、重復步驟4,查看閾值變換后圖像的直方圖分布情況;
數(shù)字圖象處理實驗指導書
實驗一 圖象變換實驗
10、重復步驟5,查看閾值變換后圖像的頻率域分布情況;
11、執(zhí)行文件→保存或另存為,保存處理后的圖像;
12、執(zhí)行文件→重新加載,重新加載原始圖像,但要注意先前對圖像的處理將會丟失; 注意:
13、在執(zhí)行步驟2時可能會出現(xiàn)有些圖像文件不能打開的情況,如圖所示,此時可以先利用圖像格式轉(zhuǎn)換工具將圖像文件轉(zhuǎn)換為8位BMP圖像,再利用系統(tǒng)進行處理。步驟14和15是使用圖像格式轉(zhuǎn)換工具的方法;
14、在桌面上雙擊圖像格式轉(zhuǎn)換工具Jpg2bmp的圖標,進入轉(zhuǎn)換工具界面,如圖所示;
15、按照界面提示,把JPG格式的圖像文件轉(zhuǎn)換成8位BMP圖像。
數(shù)字圖象處理實驗指導書
實驗一 圖象變換實驗
步驟13示意圖
步驟14示意圖
六、思考題
1、圖像灰度線性變換、閾值變換、窗口變換、灰度拉伸和灰度均衡之間有何區(qū)別?
灰度線性變換就是將圖像的像素值通過指定的線性函數(shù)進行變換,以此增強或者減弱圖像的灰度。
灰度的閾值變換可以讓一幅圖像變成黑白二值圖。
灰度的窗口變換也是一種常見的點運算。它的操作和閾值變換類似。從實現(xiàn)方法上可以看作是灰度折線變換的特列。窗口灰度變換處理結(jié)合了雙固定閾值法,與其不同之處在于窗口內(nèi)的灰度值保持不變。
灰度拉伸又叫做對比度拉伸,它與線性變換有些類似,不同之處在于灰度拉伸使用的是分段線性變換,所以它最大的優(yōu)勢是變換函數(shù)可以由用戶任意合成。
灰度均衡是增強圖像的有效方法之一?;叶染馔瑯訉儆诟倪M圖像的方法,灰度均衡的圖像具有較大的信息量。從變換后圖像的直方圖來看,灰度分布更加均勻。
2、利用圖像鏡像和旋轉(zhuǎn)變換可以實現(xiàn)圖像轉(zhuǎn)置嗎?如果可以,應該怎樣實現(xiàn)?
可以。進行一次鏡像變換,順(逆)時針旋轉(zhuǎn)兩次,再以與第一次相反的方向鏡像變換。
數(shù)字圖象處理實驗指導書
實驗一 圖象變換實驗
實驗二 圖像增強及復原實驗
七、實驗條件
PC機 數(shù)字圖像處理實驗教學軟件
大量樣圖
八、實驗目的
1、熟練使用“數(shù)字圖像處理實驗教學軟件系統(tǒng)”;
2、熟悉圖像增強及復原的基本原理,了解編程實現(xiàn)的具體步驟;
3、觀察圖像中值濾波、平滑、銳化和偽彩色編碼的結(jié)果,比較不同參數(shù)條件下的圖像增強效果;
4、觀察圖像退化和復原的結(jié)果,比較不同復原方法的復原效果。
九、實驗原理
1、圖像增強和復原的基本原理
對降質(zhì)圖像的改善處理通常有兩類方法:圖像增強和圖像復原。
圖像增強不考慮圖像降質(zhì)的原因,只將圖像中感興趣的特征有選擇地進行突出,并衰減圖像的次要信息,改善后的圖像不一定逼近原始圖像,只是增強了圖像某些方面的可讀性,如突出了目標輪廓,衰減了各種噪聲等。圖像增強可以用空域法和頻域法分別實現(xiàn),空域法主要是在空間域中對圖像象素灰度值直接進行運算處理,一般包括中值濾波、模板平滑和梯度銳化等,空域法可以用下式來描述:
g(x,y)=f(x,y)*h(x,y)其中f(x,y)是處理前圖像,g(x,y)表示處理后圖像,h(x,y)為空間運算函數(shù)。圖像增強的頻域法是在圖像的頻率域中對圖像的變換值進行某種運算處理,然后變換回空間域,系統(tǒng)涉及的各種濾波器屬于頻域法增強,這是一種間接處理方法,可以用下面的過程模型來描述:
其中:F(u,v)=?[ f(x,y)],G(u,v)= F(u,v)H(u,v),g(x,y)=??1[ G(u,v)],?和??1分別表示頻域正變換和反變換。實驗系統(tǒng)提供了圖像增強相關內(nèi)容的文字說明,用戶在操作過程中可以參考。
圖像復原是針對圖像降質(zhì)的原因,設法去補償降質(zhì)因素,使改善后的圖像盡可能逼近原始圖像,提高了圖像質(zhì)量的逼真度。關于圖像復原的詳細原理可以參考相關書籍,這里不再贅述。本系統(tǒng)提供了圖像的噪聲退化、卷積退化和運動模糊退化操作,并提供了相應的逆濾波復原、維納復原和運動模糊復原操作。本次
數(shù)字圖象處理實驗指導書
實驗一 圖象變換實驗
實驗中圖像復原只作一般性了解。
2、編程實現(xiàn)步驟
下面以圖像增強中的中值濾波操作為例給出編程實現(xiàn)的程序流程圖,如下:
十、實驗內(nèi)容
圖像增強:中值濾波、圖像模板平滑、理想低通濾波器平滑、巴特沃斯低通濾波器平滑、梯度銳化、拉普拉斯銳化、理想高通濾波器銳化、巴特沃斯高通濾波器銳化和偽彩色編碼
圖像復原:圖像的噪聲退化、卷積退化、卷積加噪聲退化、運動模糊退化、逆濾波復原、維納復原和運動模糊復原
注意:
3、所有實驗項目均針對8位BMP灰度圖像進行處理;
4、本次實驗的重點是圖像增強中的中值濾波和模板平滑,圖像復原只作一般性了解。
十一、實驗步驟
以圖像中值濾波操作為例說明實驗的具體步驟,其它實驗項目的步驟與此類似。
11、打開計算機,在系統(tǒng)桌面上雙擊“數(shù)字圖像處理實驗教學軟件系統(tǒng)”的可執(zhí)行文件“圖象處理”的圖標,進入實驗系統(tǒng);
12、執(zhí)行文件→打開,在OPEN對話框中選擇待處理的圖像,按【OK】后系統(tǒng)顯示出圖像;
數(shù)字圖象處理實驗指導書
實驗一 圖象變換實驗
13、執(zhí)行查看→圖像基本信息,將顯示圖像基本信息對話框,如圖所示;
14、執(zhí)行查看→灰度直方圖,查看圖像的灰度直方圖,如圖所示;
數(shù)字圖象處理實驗指導書
實驗一 圖象變換實驗
15、執(zhí)行圖像變換→正交變換→傅立葉變換,查看圖像的頻率域分布情況,如圖所示;
16、執(zhí)行圖像增強→中值濾波,選擇或自定義對話框中的濾波器參數(shù),如圖所示;
數(shù)字圖象處理實驗指導書
實驗一 圖象變換實驗
17、設置完濾波器參數(shù)后按【OK】,系統(tǒng)顯示中值濾波后的圖像,與原圖像進行比較,觀察中值濾波的效果,如圖所示;
18、重復步驟4,查看中值濾波后圖像的直方圖分布情況;
數(shù)字圖象處理實驗指導書
實驗一 圖象變換實驗
19、重復步驟5,查看中值濾波后圖像的頻率域分布情況;
10、執(zhí)行文件→保存或另存為,保存處理后的圖像;
11、執(zhí)行文件→重新加載,重新加載原始圖像,但要注意先前對圖像的處理將會丟失。
數(shù)字圖象處理實驗指導書
實驗一 圖象變換實驗
十二、思考題
1、圖像中值濾波和模板平滑之間有何區(qū)別?
圖像平滑處理就是用平滑模板對圖像進行處理,以減少圖像的噪聲。而中值濾波是一種非線性的信號處理方法。
2、圖像增強和圖像復原之間有何區(qū)別?
圖像增強:利用一定的技術手段,不用考慮圖像是否失真(即原 始圖像在變換后可能會失真)而且不用分析圖像降質(zhì)的原因。針對給定圖像的應用場合,有目的地強調(diào)圖像的整體或局部特性,將原來不清晰的圖像變得清晰或強調(diào)某些感興趣的特征,擴大圖像中不同物體特征之間的差別,抑制不感興趣的特征,使之改善圖像質(zhì)量、豐富信息量,加強圖像判讀和識別效果,滿足某些特殊分析的需要。
圖像復原:針對質(zhì)量降低或者失真的圖像,恢復圖像原始的內(nèi)容或者質(zhì)量。圖像復原的過程包含對圖像退化模型的分析,再對退化的圖像進行復原。圖像退化是由于成像系統(tǒng)受各種因素的影響,導致了圖像質(zhì)量的降低,稱之為圖像退化。這些因素包括傳感器噪聲、攝像機聚焦不佳、物體與攝像機之間的相對移動、隨機大氣湍流、光學系統(tǒng)的象差、成像光源和射線的散射等。圖像復原大致可以分為兩種方法:
一種方法適用于缺乏圖像先驗知識的情況,此時可對退化過程建立模型進行描述,進而尋找一種去除或消弱其影響的過程,是一種估計方法;
另一種方法是針對原始圖像有足夠的先驗知識的情況,對原始圖像建立一個數(shù)學模型并根據(jù)它對退化圖像進行擬合,能夠獲得更好的復原效果。
3、圖像維納復原為什么比逆濾波復原效果好?
維納濾波復原的原理可表示為
對于維納濾波,由上式可知,當
時,由于存在 項,所以數(shù)字圖象處理實驗指導書
實驗一 圖象變換實驗
不會出現(xiàn)被0除的情形,同時分子中含有項,在處。當時,此時維納濾波就變成 了逆濾波;當時,表明維納濾波避免了逆濾波中 出現(xiàn)的對噪聲過多的放大作用,也就是說圖像維納復原比逆濾波復原效果好。
第四篇:數(shù)字圖像處理圖像翻轉(zhuǎn),平移,縮放
學號:Xb09680112
班級:09通信工程(1)
姓名:項德亮
實驗一
圖像幾何變換
一. 實驗目的
1.熟悉MATLAB中的圖像處理工具箱。2.熟悉MATLAB中常用的圖像處理函數(shù)。
3.掌握圖像平移、圖像旋轉(zhuǎn)和圖像縮放的基本原理與實現(xiàn)方法。二.實驗設備 微機 三.預習要求
1.認真復習課件里的內(nèi)容,并熟悉教材中第2章的內(nèi)容。2.了解imread()、imshow()、imhist()等函數(shù)的使用方法。四.實驗內(nèi)容及步驟 實驗內(nèi)容:
1.熟悉MATLAB圖像處理工具箱的功能及常用的圖像處理函數(shù)。
2.打開“Image Processing”工具箱里的Demos,查看“Spatial Transformation”中的第一個例子“Creating a Gallery of Transformed Images”,把所有源代碼拷到一個m文件里運行,查看運行結(jié)果,給源代碼添加注釋。然后再改變變換矩陣T里面的參數(shù),再查看運行結(jié)果。把改變參數(shù)后(每位同學可以任意改變)的m文件保存為SpatialTransformation.m。
3.編程實現(xiàn)圖像的平移,平移量應該可調(diào)(即用一個向量或兩個標量保存平移量),并顯示對圖像“view”的處理結(jié)果。%平移 clear;%讀入圖像
imori=imread('view.bmp','bmp');imres=imori;[m,n]=size(imori);tx=60;ty=-40;%平移 for i=1:m
for j=1:n
if tx
imres(i,j)=imori(i,j);
else
imres(i,j)=255;
end end end imshow(imres)%顯示結(jié)果%顯示結(jié)果
4.編程實現(xiàn)圖像的縮放,縮放系數(shù)可調(diào),分別用兩個變量或一個向量保存水平和垂直方向的縮放系數(shù),并顯示對圖像“view”的處理結(jié)果。clc;sx=1.5;sy=2.0;%讀入原始圖像
imageOri=imread('view.bmp','bmp');[m,n]=size(imageOri);%求變化矩陣 s=[sx,0,0;0,sy,0;0,0,1];sinv=inv(s);%求變換后的圖像大小 m1=m*sx;
n1=n*sy;m2=floor(m1);
n2=floor(n1);imageres=255*ones(m2,n2);%灰度差值 for i=1:m2
for j=1:n2
a=sinv*[i,j,1]';
x=a(1);y=a(2);
g(i,j)=ImageBiInterpolate(y,x,imageOri);
end end
imshow(uint8(g))%輸出結(jié)果圖像
5.編程實現(xiàn)圖像繞圖像原點的旋轉(zhuǎn),并顯示對圖像“couple”的處理結(jié)果。有興趣的同學可以實現(xiàn)繞任意點的旋轉(zhuǎn)。clc;clear;theta=30;%讀入原始圖像
ImageOri=imread('view.bmp','bmp');[m,n]=size(ImageOri);%求變化矩陣
r=[cos(theta),sin(theta),0;-sin(theta),cos(theta),0;0,0,1];rinv=inv(r);%求變換后的圖像大小 m1=m;
n1=n;m2=floor(m1);
n2=floor(n1);imageres=255*ones(m2,n2);%灰度差值 for i=1:m2
for j=1:n2
a=rinv*[i,j,1]';
x=a(1);y=a(2);
g(i,j)=ImageBiInterpolate(x,y,ImageOri);
end end
imshow(uint8(g))
%輸出結(jié)果圖像
五.實驗的心得體會
通過這次實驗,我發(fā)現(xiàn)matlab軟件的功能很強大,既能編寫程序,完成波形的設計,還可以處理圖像的位置,改變圖像的大小,旋轉(zhuǎn)圖像的角度,學會使用imread()讀取圖像,imshow()展示圖像,使用for語句,完成圖像的反復操作,直到得到我們要的圖像。
第五篇:《數(shù)字圖像處理》
實驗五 圖像的幾何變換
一.實驗目的及要求
掌握圖像幾何變換的基本原理,熟練掌握數(shù)字圖像的縮放、旋轉(zhuǎn)、平移、鏡像和轉(zhuǎn)置的基本原理及其MATLAB編程實現(xiàn)方法。
二、實驗內(nèi)容
(一)研究以下程序,分析程序功能;輸入執(zhí)行各命令行,認真觀察命令執(zhí)行的結(jié)果。熟悉程序中所使用函數(shù)的調(diào)用方法,改變有關參數(shù),觀察試驗結(jié)果。
1.圖像縮放 clear all, close all I = imread('cameraman.tif');Scale = 1.35;
% 將圖像放大1.35倍
J1 = imresize(I, Scale, 'nearest');
% using the nearest neighbor interpolation J2 = imresize(I, Scale, 'bilinear');
% using the bilinear interpolation imshow(I), title('Original Image');figure, imshow(J1), title('Resized Image--using the nearest neighbor interpolation ');figure, imshow(J2), title('Resized Image--using the bilinear interpolation ');help imresize
% 查看imresize使用幫助
1.95倍
I = imread('cameraman.tif');Scale = 1.96;
% 將圖像放大1.96倍
J1 = imresize(I, Scale, 'nearest');
% using the nearest neighbor interpolation J2 = imresize(I, Scale, 'bilinear');
% using the bilinear interpolation imshow(I), title('Original Image');figure, imshow(J1), title('Resized Image--using the nearest neighbor interpolation ');figure, imshow(J2), title('Resized Image--using the bilinear interpolation ');
說明:
?注意觀察不同插值方法的圖像表現(xiàn); ?改變圖像縮放因子Scale,重做上述實驗。2.圖像旋轉(zhuǎn)
clear all, close all I = imread('cameraman.tif');Theta = 45;
% 將圖像逆時針旋轉(zhuǎn)45?。
J1 = imrotate(I, Theta, 'nearest');
% using the nearest neighbor interpolation Theta =-45;
% 將圖像順時針旋轉(zhuǎn)45?。
J2 = imrotate(I, Theta, 'bilinear', 'crop');% using bilinear interpolation and crops the output image imshow(I), title('Original Image');figure, imshow(J1), title('Rotated Image--using the nearest neighbor interpolation ');figure, imshow(J2), title(' Rotated Image--using the bilinear interpolation ');% 查看imrotate使用幫助 help imrotate %-------
圖像旋轉(zhuǎn)30順時針逆時針
clear all, close all I = imread('cameraman.tif');Theta = 30;
% 將圖像逆時針旋轉(zhuǎn)30。
J1 = imrotate(I, Theta, 'nearest');
% using the nearest neighbor interpolation Theta =-30;
% 將圖像順時針旋轉(zhuǎn)30。
J2 = imrotate(I, Theta, 'bilinear', 'crop');% using bilinear interpolation and crops the output image imshow(I), title('Original Image');figure, imshow(J1), title('Rotated Image--using the nearest neighbor interpolation ');figure, imshow(J2), title(' Rotated Image--using the bilinear interpolation ');7 說明:
?注意觀察不同插值方法和輸出圖像后處理方法的圖像表現(xiàn); ?改變旋轉(zhuǎn)角度大小和方向,重做上述實驗。
3.圖像水平鏡象
clear all, close all I = imread('cameraman.tif');I1 = flipdim(I,2);
I2 = flipdim(I,1);figure(1), subplot(1,2,1), imshow(I);subplot(1,2,2), imshow(I1);figure(2), subplot(2,1,1), imshow(I);subplot(2,1,2), imshow(I2);%----
(二)用MATLAB編程實現(xiàn)以下圖像幾何變換(參考自編講義相關章節(jié))
1.圖像扭曲變換 2.球面變換
三、實驗設備
1.PIII以上微機; 2.MATLAB6.5;
四、預習與思考
1.預習實驗內(nèi)容,閱讀教材熟悉實驗原理;
2.查閱資料,熟悉實驗中涉及的有關MATLAB函數(shù);
3.利用課余時間,采用MATLAB底層函數(shù)編程實現(xiàn)實驗內(nèi)容
(二)中的圖像平移、圖像轉(zhuǎn)置等幾何變換。
五、實驗報告要求
1.簡述試驗的目的和試驗原理;
2.敘述各段程序功能,改變有關函數(shù)的參數(shù),分析比較實驗結(jié)果; 3.打印出所編寫的實驗程序。4.寫出本實驗的心得體會及意見。
實驗六
數(shù)字圖像處理應用
一.實驗目的及要求
1.利用MATLAB提供的圖像處理函數(shù)實現(xiàn)圖像中物體屬性的測量; 2.訓練綜合運用MATLAB圖像處理函數(shù)的能力; 3.了解數(shù)字圖像處理基本應用。
二、實驗內(nèi)容
以大米粒特性測量為例,綜合應用課程中圖像分割、形態(tài)學濾波、圖像增強、圖像特征提取等圖像處理方法,實現(xiàn)大米粒特性自動測量。實驗過程簡述:
1. 讀取和顯示圖像 2. 估計圖像背景 3. 獲取背景均勻的圖像 4. 圖像增強 5. 圖像二值化分割 6. 區(qū)域標記及為彩色處理
7. 測量圖像中的區(qū)域特性(面積、質(zhì)心等)
8.統(tǒng)計大米粒的特性分布規(guī)律。
(一)研究以下程序,分析程序功能;輸入執(zhí)行各命令行,認真觀察命令執(zhí)行的結(jié) 果。熟悉程序中所使用函數(shù)的調(diào)用方法,改變有關參數(shù),觀察試驗結(jié)果。
% Read and Display an Image clear, close all,close all;I = imread('rice.png');
figure, imshow(I)
% Use Morphological Opening to Estimate the Background
background = imopen(I,strel('disk',15));
figure, imshow(background);
%Display the Background Approximation as a Surface
figure, surf(double(background(1:8:end,1:8:end))),zlim([0 255]);set(gca,'ydir','reverse');% Subtract the Background Image from the Original Image I2 = imsubtract(I,background);figure, imshow(I2)% Adjust the Image Contrast I3 = imadjust(I2, stretchlim(I2), [0 1]);figure, imshow(I3);% Apply Thresholding to the Image level = graythresh(I3);bw = im2bw(I3,level);figure, imshow(bw)% Determine the Number of Objects in the Image [labeled,numObjects] = bwlabel(bw,4);
% Label components.numObjects % Examine the Label Matrix RGB_label = label2rgb(labeled, @spring, 'c', 'shuffle');figure, imshow(RGB_label);% Measure Object Properties in the Image graindata = regionprops(labeled,'basic')allgrains = [graindata.Area];% Compute Statistical Properties of Objects in the Image max(allgrains);biggrain = find(allgrains==695)mean(allgrains);figure, hist(allgrains,20);12
(詳見MATLAB IPT的 幫助文檔demo中的Correcting Nonuniform Illumination)
(二)查看MATLAB IPT 幫助文檔,研究其它應用演示
三、實驗設備 1.PIII以上微機; 2.MATLAB6.5;
四、預習與思考
1.預習實驗內(nèi)容,閱讀教材熟悉實驗原理; 2.查閱資料,熟悉實驗中涉及的有關函數(shù)。
3.利用課余時間,采用MATLAB函數(shù)編程實現(xiàn)實驗內(nèi)容
(二)。
五、實驗報告要求
1.簡述試驗的目的和試驗原理;
2.敘述各段程序功能,改變有關函數(shù)的參數(shù),分析比較實驗結(jié)果; 3.打印出所編寫的實驗程序。4.寫出本實驗的心得體會及意見。