数字图像处理实验报告Word文件下载.docx
- 文档编号:19689120
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:21
- 大小:619.28KB
数字图像处理实验报告Word文件下载.docx
《数字图像处理实验报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《数字图像处理实验报告Word文件下载.docx(21页珍藏版)》请在冰豆网上搜索。
title('
原始图像'
)%在原始图像中加标题
subplot(1,2,2),imhist(I)%输出原图直方图
原始图像直方图'
)%在原图直方图上加标题
四.实验步骤
1.启动matlab双击桌面matlab图标启动matlab环境;
2.在matlab命令窗口中输入相应程序。
书写程序时,首先读取图像,一般调用matlab自带的图像,如:
cameraman图像;
再调用相应的直方图函数,设置参数;
最后输出处理后的图像;
3.浏览源程序并理解含义;
4.运行,观察显示结果;
5.结束运行,退出;
五.实验结果:
观察图像matlab环境下的直方图分布。
(a)原始图像(b)原始图像直方图
六.实验报告要求
1、给出实验原理过程及实现代码:
coins.png'
2、输入一幅灰度图像,给出其灰度直方图结果,并进行灰度直方图分布原理分析。
1.23*3均值滤波
1.熟悉matlab图像处理工具箱及均值滤波函数的使用;
2.理解和掌握3*3均值滤波的方法和应用;
2.软件matlab
三.程序设计
在matlab环境中,程序首先读取图像,然后调用图像增强(均值滤波)函数,设置相关参数,再输出处理后的图像。
I=imread('
figure,imshow(I);
J=filter2(fspecial(‘average’,3),I)/255;
figure,imshow(J);
1.启动matlab
双击桌面matlab图标启动matlab环境;
再调用相应的图像增强(均值滤波)函数,设置参数;
观察matlab环境下原始图像经3*3均值滤波处理后的结果。
(a)原始图像(b)3*3均值滤波处理后的图像
输入一幅灰度图像,给出其图像经3*3均值滤波处理后的结果,然后对每一点的灰度值和它周围24个点,一共25个点的灰度值进行均值滤波,看看对25个点取均值与对9个点取中值进行均值滤波有什么区别?
有没有其他的算法可以改进滤波效果。
1.33*3中值滤波
1.熟悉matlab图像处理工具箱及中值滤波函数的使用;
2.理解和掌握中值滤波的方法和应用;
在matlab环境中,程序首先读取图像,然后调用图像增强(中值滤波)函数,设置相关参数,再输出处理后的图像。
J=medfilt2(I,[5,5]);
再调用相应的图像增强(中值滤波)函数,设置参数;
五.实验结果
观察matlab环境下原始图像经3*3中值滤波处理后的结果。
(a)原始图像(b)3*3中值滤波处理后的图像
输入一幅灰度图像,给出其图像经3*3中值滤波处理后的结果,然后对每一点的灰度值和它周围24个点,一共25个点的灰度值进行排序后取中值,然后该点的灰度值取中值。
看看对25个点取中值与对9个点取中值进行中值滤波有什么区别?
(a)原始图像(b)3*3中值滤波处理后的图像
1.4图像的缩放
1.熟悉matlab图像处理工具箱及图像缩放函数的使用;
2.掌握图像缩放的方法和应用;
在matlab环境中,程序首先读取图像,然后调用图像缩放函数,设置相关参数,再输出处理后的图像。
scale=0.5;
J=imresize(I,scale);
再调用相应的图像缩放函数,设置参数;
观察matlab环境下图像缩放后的结果。
(a)原始图像(b)缩放后的图像
输入一幅灰度图像,给出其图像缩放后的结果,然后改变缩放比率,观察图像缩放后结果柄进行分析。
(a)原始图像(b)缩放后的图像
数字图像的离散余弦变换
1.验证二维傅里叶变换的平移性和旋转不变性;
2.实现图像频域滤波,加深对频域图像增强的理解;
二.实验设备
2.软件matlab;
三.实验内容及步骤
(1)产生如图3.1所示图像
(128×
128大小,暗处=0,亮处=255),用MATLAB中的fft2函数对其进行FFT:
①同屏显示原图
和
的幅度谱图;
②若令
,重复以上过程,比较二者幅度谱的异同,简述理由;
③若将
顺时针旋转45度得到
,试显示
的幅度谱,并与
的幅度谱进行比较。
1.%生成图形f1
f1=zeros(128,128);
f1((64-30):
(63+30),(64-10):
(63+10))=1;
%FFT变换
fft_f1=log(1+abs(fftshift(fft2(f1))));
figure;
subplot(121);
imshow(f1);
Imagef1'
subplot(122);
imshow(fft_f1,[]);
FFTf1'
2.%计算f2
f2=zeros(128,128);
fori=1:
128;
forj=1:
f2(i,j)=((-1)^(i+j))*f1(i,j);
end
end
fft_f2A=log(1+abs(fft2(f2)));
fft_f2B=log(1+abs(fftshift(fft2(f2))));
subplot(131);
imshow(f2);
Imagef2'
subplot(132);
imshow(fft_f2B,[]);
FFTf2'
subplot(133);
imshow(fft_f2A,[]);
FFTf2WithoutFFTShift'
分析:
根据傅里叶变换对的平移性质:
;
当
且
时,有:
因此可得到:
所以,
就是
频谱中心化后的结果。
3.%计算f3
f3=imrotate(f2,-45,'
nearest'
fft_f3=log(1+abs(fftshift(fft2(f3))));
imshow(f3);
Imagef3'
imshow(fft_f3,[]);
FFTf3'
(2)对如图3.2所示的数字图像lena.img(256×
256大小、256级灰度)进行频域的理想低通、高通滤波,同屏显示原图、幅度谱图和低通、高通滤波的结果图。
低通滤波:
fid=fopen('
D:
\matlab7\image\lena.img'
'
r'
data=(fread(fid,[256,256],'
uint8'
))'
;
subplot(1,2,1)
imagesc(data);
colormap(gray);
LENA'
Color'
fft_lena=fft2(data);
f=fftshift(fft_lena);
256
forj=1:
ifsqrt((i-128)^2+(j-128)^2)>
30
f(i,j)=0;
subplot(1,2,2);
[x,y]=meshgrid(1:
1:
256);
surf(x,y,f)
高通滤波:
ifsqrt((i-128)^2+(j-128)^2)<
2
[x,y]=meshgrid(1:
基于直方图均衡化的图像增强
1.了解空间域图像增强的各种方法(点处理、掩模处理);
2.掌握采用直方图均衡化进行图像增强的方法;
3.使用邻域平均法编写程序实现图像增强,进一步掌握掩模法及其改进(加门限法)消除噪声的原理;
对如图3.1所示的两幅128×
128、256级灰度的数字图像fing_128.img和cell_128.img进行如下处理:
(1)对原图像进行直方图均衡化处理,同屏显示处理前后图像及其直方图,比较异同,并回答为什么数字图像均衡化后其直方图并非完全均匀分布。
指纹图像:
fing_128.img'
im=(fread(fid,[128,128],'
im=uint8(im);
subplot(221);
imshow(im);
subplot(222);
imh=histeq(im);
%直方图均衡化
imshow(imh);
subplot(223);
imhist(im);
subplot(224);
imhist(imh);
显微医学图像:
cell_128.img'
由于数字图像中像素的灰度值取值是离散和不连续的,因而变换后的像素灰度值在计算中出现了归并现象,所以变换后的直方图并不是呈完全均匀分布的。
(2)对原图像加入点噪声,用4-邻域平均法平滑加噪声图像(图像四周边界不处理,下同),同屏显示原图像、加噪声图像和处理后的图像。
①不加门限;
②加门限
,(其中
)
代码:
));
im=im2double(uint8(im));
J=imnoise(im,'
gaussian'
%加入高斯噪声
w=[00.250;
0.2500.25;
00.250];
im_L=filter2(w,J);
%四邻域平滑
%加门限后滤波
T=2*sum(J(:
))/128^2;
im_T=zeros(128,128);
128
ifabs(J(i,j)-im_L(i,j))>
T
im_T(i,j)=im_L(i,j);
else
im_T(i,j)=J(i,j);
subplot(2,2,1);
Image'
subplot(2,2,2);
imshow(J);
Noise'
subplot(2,2,3);
imshow(im_L);
四邻域平滑后'
subplot(2,2,4);
imshow(im_T);
加门限后'
对高斯噪声的处理效果:
对脉冲噪声的处理效果:
图像分割(常见的边缘检测算子——Sobel、Prewitt、Log)
1.熟悉matlab图像处理工具箱及图像边缘检测函数的使用;
2.理解和掌握图像边缘检测(Sobel、Prewitt、Log边缘算子)的方法和应用;
在matlab环境中,程序首先读取图像,然后调用图像边缘检测(Sobel、Prewitt、Log边缘算子)函数,设置相关参数,再输出处理后的图像。
J1=edge(I,'
sobel'
J2=edge(I,'
prewitt'
J3=edge(I,'
log'
subplot(1,4,1),imshow(I);
subplot(1,4,2),imshow(J1);
subplot(1,4,3),imshow(J2);
subplot(1,4,4),imshow(J3);
再调用相应的边缘检测(Sobel边缘算子、Prewitt边缘算子、Log边缘算子)函数,设置参数;
观察经过图像边缘检测(Sobel、Prewitt、Log边缘算子)处理后的结果。
(a)原始图像(b)Sobel边缘算子
(c)Prewitt边缘算子(d)Log边缘算子
输入一幅灰度图像,给出其图像边缘检测(Sobel、Prewitt、Log边缘算子)后的结果并进行分析对比。
lena.img'
im=(fread(fid,[256,256],'
im_R=edge(im,'
Roberts'
im_P=edge(im,'
Prewitt'
im_S=edge(im,'
Sobel'
im_L=edge(im,'
Log'
subplot(321);
源图像'
subplot(323);
imshow(im_R);
Roberts检测'
subplot(324);
imshow(im_P);
Prewitt检测'
subplot(325);
imshow(im_S);
Sobel检测'
subplot(326);
Log检测'
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字图像 处理 实验 报告