数字图像处理实验报告同名15634.docx
《数字图像处理实验报告同名15634.docx》由会员分享,可在线阅读,更多相关《数字图像处理实验报告同名15634.docx(27页珍藏版)》请在冰豆网上搜索。
数字图像处理实验报告同名15634
院系:
计算机科学学院
专业:
计算机科学与技术
年级:
2011级
课程名称:
数字图像处理
指导教师:
阳光
学号:
10061032,11061034,11061035
姓名:
金晓臻,朱华,丁雅婷
2014年4月20日
年级
2011级
班号
计科2小班
学号
11061032、11061034、11061035
专业
计算机科学与技术
金晓臻、朱华、丁雅婷
实验名称
实验一、图像变换
实验室
9#205
实验目的或要求
1.实验目的
(1)熟悉Matlab开发环境;
(2)掌握Matlab中数字图像的读取、显示、保存的基本方法的使用;
(3)掌握不同类型的数字图像之间转换方法;
(3)加深空间分辨率和灰度分辨率对图像显示效果的影响;
(4)熟悉Matlab中的傅里叶变换;
(5)基于Matlab的数字图像程序设计方法;
2.实验要求
(1)在Matlab中运用imread函数读取一幅彩色图像(从实验素材中任意选择),查看该图像的大小、数据类型信息,并将该图像转换为灰度图像后以bmp格式保存。
(2)运用imread函数读取一幅灰度图像(从实验素材中任意选择),分别对其进行2采样、4采样和8采样,将原图像及采样后的三幅结果图像显示在同一窗口中并比较空间分辨率对图像显示效果的影响。
(3)运用imread函数读取一幅灰度图像(从实验素材中任意选择),分别以5,10,50为间隔对其灰度重新进行均匀量化,将原图像及重新量化后的三幅结果图像显示在同一窗口中并比较灰度分辨率对图像显示效果的影响。
(4)读取一幅灰度图像,对其进行快速傅里叶变换,将原空域图像和变换后的频域图像显示在同一窗口中。
实
验
原
理
(
算
法
流
程
)
实验原理见实验源代码截图和实验结果分析。
组分工(
可选
)
郭嘉祥(10061145)负责实验容
(1)
(2)
肖小勇(10061153)负责实验容(3)(4)
金晓臻(11061032)负责实验监督
实
验
结
果
分
析
实验结果一:
注:
此处为利用iread函数读取一幅彩色图像。
注:
此处为显示图像的大小,数据类型信息。
实
验
结
果
分
析
注:
此处为将该彩色图像转换为灰色图像后保存为bmp格式。
实验结果二:
实
验
结
果
分
析
注:
此处为相应的2采样、4采样和8采样。
实验结果三:
实
验
结
果
分
析
注:
此为分别以5,10,50为间隔对读取的灰度图像的灰度重新进行均匀量化。
实验结果四:
注:
此为对图像进行快速傅里叶变换。
实验结果分析及
心得体会
成绩评定
教师签名:
年月日
实验源代码见截图:
实验容一:
实验容二:
实验容三:
实验容四:
年级
2011
班号
2
学号
11061032、11061034、11061035
专业
计算机科学与技术
金晓臻、朱华、丁雅婷
实验名称
实验二、图像增强
实验室
9#205
实
验
目
的
或
要
求
实验目的
(1)掌握空域点处理图像增强方法;
(2)掌握空域滤波图像增强方法;
(3)掌握频域滤波图像增强方法;
实验容:
选择一幅图像,叠加零均值高斯噪声,然后分别利用邻域平均法和中值滤波法对该图像进行滤波,显示滤波后的图像,比较各滤波器的滤波效果。
选择一幅图像,叠加椒盐噪声,选择合适的滤波器将噪声滤除。
实
验
原
理
(
算
法
流
程
)
1、读取一幅对比度不足的图像,对该图像进行直接灰度变换,包括图像求反、线性灰度变换、对数变化,并将原图像及变换后的图像进行对比。
(1)图像求反代码:
I=imread('cameraman.tif');
imshow(I);title('原图像');
I=double(I);
I=256-1-I;
I=uint8(I);
figure;
imshow(I);title('图像求反');
实验结果截图:
(2)、线性灰度变化代码:
I=imread('cameraman.tif');
imshow(I);title('原图像');
I=double(I);
I=256-1-I;
figure;
imshow(I);title('图像求反');
实
验
原
理
(
算
法
流
程
)
>>I=imread('cameraman.tif');
imshow(I);title('原图像');
I=double(I);
[M,N]=size(I);
fori=1:
M
forj=1:
N
ifI(i,j)<=30
I(i,j)=I(i,j);
elseifI(i,j)<=150
I(i,j)=(200-30)/(150-30)*(I(i,j)-30)+30;
else
I(i,j)=(255-200)/(255-150)*(I(i,j)-150)+200;
end
end
end
figure
(2);imshow(uint8(I));title('线性灰度变换');
实验结果截图:
(3)对数变化代码:
I=imread('cameraman.tif');
figure;imshow(I);title('原图像');
I=double(I);
I2=41*log(1+I);
I2=uint8(I2);
figure;imshow(I2);title('对数变化');
实验二
(2)代码:
实
验
原
理
(
算
法
流
程
)
实验结果截图:
2、读取一幅直方图不均匀的图像,对该图像进行直方图均衡处理,显示处理前后的图像
以及它们的灰度直方图。
代码如下:
I0=imread('forest.tif');
I1=histeq(I0);%直方图均衡化
subplot(221),imshow(I0);title('原图像');
subplot(222),imhist(I0);title('原图像直方图');
subplot(223),imshow(I1);title('处理后图像');
subplot(224),imhist(I1);title('处理后图像直方图');
实验结果截图:
实
验
原
理
(
算
法
流
程
)
读取一幅灰度图像,对其添加均值为0,方差为0.02的高斯噪声,然后对添加噪声后的图像分别用3,9,18幅 幅相同图像对其进行相加求平均结果,比较结果图像与噪声图像。
代码如下:
I=imread('forest.tif');
[M,N]=size(I);
II1=zeros(M,N);
fori=1:
18
II(:
:
i)=imnoise(I,'gaussian',0,0.02);
II1=II1+double(II(:
:
i));
ifor(or(i==1,i==3),or(i==9,i==18));
figure;
imshow(uint8(II1/i));
end
End
实验结果截图:
实
验
原
理
(
算
法
流
程
)
4、读取一幅灰度图像,对其添加均值为0,方差为0.01的高斯噪声,然后分别对其进行中值滤波、sobel算子滤波、Prewitt算子滤波,比较滤波后的结果图像与噪声图像。
代码如下:
I=imread('cameraman.tif');
I=imread('cameraman.tif');
J=imnoise(I,'gaussian',0,0.01);
subplot(2,2,1),imshow(J);title('噪声图像');
k1=medfilt2(J);
subplot(2,2,2),imshow(k1);title('3*3模板中值滤波');
H=fspecial('Sobel');
I2=filter2(H,I);
subplot(2,2,3);imshow(I2);title('sobel算法滤波');
H=fspecial('prewitt');
I3=filter2(H,I);
subplot(2,2,4);imshow(I3);title('prewitt算子滤波');
实验结果截图:
5、读取一幅灰度图像,分别对其进行理想低通滤波和巴特沃斯高通滤波,显示滤波结果
代码如下:
I=imread('C:
\Users\Administrator\Desktop\cameraman.tif');
subplot(331);imshow(I);title('原图像');
I=double(I);
f=fft2(I);
g=fftshift(f);
[M,N]=size(f);
n1=floor(M/2);
n2=floor(N/2);
d0=5;
fori=1:
M
forj=1:
N
实
验
原
理
(
算
法
流
程
)
d=sqrt((i-n1)^2+(j-n2)^2);
ifd<=d0
h=1;
else
h=0;
end
g(i,j)=h*g(i,j);
end
end
g=ifftshift(g);
g=uint8(real(ifft2(g)));
subplot(333);
imshow(g);title('理想低通滤波');
n=2
d0=20;
fori=1:
M
forj=1:
N
d=sqrt((i-n1)^2+(j-n2)^2);
ifd==0
h1=0;
else
h1=1/(1+(d0/d)^(2*n));
end
gg(i,j)=h1*g(i,j);
end
end
gg=ifftshift(gg);
gg=uint8(real(ifft2(gg)));
subplot(334);
imshow(gg1);title('巴特沃斯高通滤波');
实验结果截图:
(写不完时,可另加附页。
)
实
验
结
果
分
析
及
心
得
体
会
成
绩
评
定
教师签名:
年月日
年级
2011级
班号
计科2小班
学号
11061032、11061034、11061035
专业
计算机科学与技术
金晓臻、朱华、丁雅婷
实验名称
实验三、图像复原
实验室
9#205
实验目的或要求
实验目的
(1)掌握逆滤波图像复原方法;
(2)掌握维纳滤波图像复原方法;
(3)掌握最小二乘方图像复原方法;
实验容
(1)读取一幅灰度图像,首先对其进行运动模糊(显示模糊前后的图像),再对其添加高斯噪声;然后对其分别进行逆滤波、维纳滤波、最小二乘方滤波图像复原,比较这三种复原算法的异同。
(2)在
(1)的基础上,改变高斯噪声的参数,比较三种复原算法在高、中、低三种不同程度的噪声下的复原效果。
(3)读取一幅RGB彩色图像,获取其三个通道R、G、B图像,并分别对其进行中值滤波,最后将三幅滤波结果图像合成一幅RGB结果图像。
实
验
原
理
(
算
法
流程
)
(1)
(2)
%模糊处理后添加高斯噪声
m=2;
n=2;
C=imread('lena.bmp);
figure
(1);
subplot(m,n,1),imshow(C),title('原图');
LEN=7;
THETA=45;
PSF=fspecial('motion',LEN,THETA);
MF=imfilter(C,PSF,'circular','conv');
subplot(m,n,2),imshow(MF),title('运动模糊');
%高斯噪声
i=0.1;
noise=imnoise(C,'gaussian',0,i);
subplot(m,n,3),imshow(noise),title('高斯噪声');
%运动模糊+高斯噪声
MFN=imnoise(MF,'gaussian',0,i);
subplot(m,n,4),imshow(MFN),title('运动模糊+高斯噪声');
figure
(2)
subplot(m,n,1),imshow(MFN),title('运动模糊+高斯噪声');
subplot(m,n,2),imshow(deconvwnr(MFN,PSF)),title('逆滤波图像复原');
NSR=sum(noise(:
).^2)/sum(MFN(:
).^2);
subplot(m,n,3),imshow(deconvwnr(MFN,PSF,NSR)),title('维纳滤波图像复原');
subplot(m,n,4),imshow(deconvreg(MFN,PSF,4)),title('最小二乘方滤波图像复原');
(3)
figure
(1);
rgb=imread('autumn.tif');
subplot(1,2,1),imshow(rgb),title('原图')
R=rgb(:
:
1);
G=rgb(:
:
2);
B=rgb(:
:
3);
R=medfilt2(R);
G=medfilt2(G);
B=medfilt2(B);
RGB=cat(3,R,G,B);
subplot(1,2,2),imshow(RGB),title('中值滤波')
实验结果分析
(1)
(2)
(3)
心得体会
成绩评定
教师签名:
年月日
备注:
源代码附后,源代码要求有注释说明
年级
2011级
班号
计科2小班
学号
11061032、11061034、11061035
专业
计算机科学与技术
金晓臻、朱华、丁雅婷
实验名称
实验四、Matlab图像处理基础
实验室
9#205
实验目的或要求
1.实验目的
(1)了解并掌握图像分割的基本原理;
(2)编写程序使用Hough变换处理图像,进行线检测;
(3)编写程序使用阈值处理方法进行图像分割,根据实验结果分析效果;
(4)总结实验过程(实验报告,左侧装订):
方案、编程、调试、结果、分析、结论。
2.实验要求
实
验
原
理
(
算
法
流
程
)
组分工(
可选
)
实
验
结
果
分
析
实
验
结
果
分
析
实验结果分析及
心得体会
成绩评定
教师签名:
年月日