注:请用A4纸书写,不够另附纸。 第 页,共 页
数字图像处理 姓名:院系:班级:学号:
时间:
数字图像处理
一、图像输入与输出基本操作
a、实验题目:
图像输入与输出操作
b、实验目的
学习在MATLAB环境下对图像文件的I/O操作,为读取各种格式的图像文件和后续进行图像处理打下基础。
c、预备知识
熟悉MATLAB开发环境。
d、实验内容
利用MATLAB为用户提供的专门函数从图像格式的文件中读/写图像数据、显示图像,以及查询图像文件的信息。
I=imread('Couple.bmp’);
imshow(I);
colorbar;
(2).图片信息查询
info=imfinfo(' Couple.bmp')
info =
Filename: 'Couple.bmp'
FileModDate: '29-四月-2009 10:11:48'
FileSize: 66616
Format: 'bmp'
FormatVersion: 'Version 3 (Microsoft Windows 3.x)'
Width: 256
Height: 256
BitDepth: 8
ColorType: 'indexed' FormatSignature: 'BM' NumColormapEntries: 256
Colormap: [256x3 double] RedMask: []
GreenMask: []
BlueMask: []
ImageDataOffset: 1078 BitmapHeaderSize: 40
NumPlanes: 1
CompressionType: 'none' BitmapSize: 0
HorzResolution: 2834 VertResolution: 2834
NumColorsUsed: 0
NumImportantColors: 0
(3) .多幅图片显示
clc,clear,close;
I=imread('Couple.bmp'); subplot(2,2,1);
imshow(I);
subplot(2,2,2);
imshow image2.jpg;
subplot(2,2,3);
imshow image1.jpg;
subplot(2,2,4);
imshow lena.BMP;
imfinfo Couple.bmp
二:图像的平滑与滤波
a、实验题目:
图像平滑与滤波
b、实验目的:
在熟悉图像平滑的基本原理和方法的基础上,在理论指导下,能在MATLAB环境下对图像进行平滑处理。本实验要求用线性平滑滤波、中值平滑滤波、频域低通滤波的方法进行程序设计。经过平滑处理,对结果图像加以比较,得出自己的实验结论。
c、实验内容:
(1)利用MATLAB为用户提供的专门函数实现均值滤波。
(2)利用MATLAB为用户提供的专门函数实现中值滤波。
(3)编写频域理想低通、巴特沃斯低通及高斯低通滤波函数。
d、预备知识:
(1)熟悉平滑滤波原理。
(2)熟悉频域滤波原理。
(3)熟悉在MATLAB环境下对图像文件的I/O操作。
e、实验原理:
平滑滤波技术用于平滑图像中的噪声。平滑噪声可以在空间域中进行,基本方法是求像
素灰度的平均值或中值。也可以在频域中用基于傅立叶的分析方法进行。
I=imread(' Couple.bmp');
J=imnoise(I,'gaussian',0,0.01);%给图像加高斯噪声 subplot(1,2,1);imshow(I);title('原始图像’);
subplot(1,2,2);imshow(J);title('加入高斯噪声的图像');
h=fspecial('average',3);
gd=imfilter(J,h);
subplot(1,2,1);imshow(J);title('加入高斯噪声的图像'); subplot(1,2,2);imshow(gd);title(' 3X3模板均值滤波');
三、图像增强
a、实验题目:
图像增强
b、实验目的:
(1)了解图像增强的内容和意义;
(2)掌握基于空域的图像增强方法;
(3)掌握基于频域的图像增强方法。
c、实验内容:
(1)综合运用直方图均衡、灰度变换、锐化空域滤波等方法编程实现对
图像的空域增强处理;
(2)编程实现图像的频域增强处理。
d、预备知识:
(1)熟悉MATLAB图像输入输出操作;
(2)熟悉图像的模板操作;
(3)熟悉图像的频域变换处理;
(4)熟悉二维频谱的显示方法。
e、实验原理:
图像增强是对图像进行加工,以得到视觉效果更好或更有用的新图像。图像增强在处理方法上可分为基于空域的图像增强和基于频域的图像增强。
空域图像增强常用方法:
图像均衡化
Im=imread('Couple.bmp');
J=histeq(Im); %均衡化
subplot(2,2,1);
imshow(Im);
title('原图');
subplot(2,2,2);
imhist(Im);
title('原图直方图');
subplot(2,2,3);
imshow(J);
title('均衡化结果');
subplot(2,2,4);
imhist(J);
title('均衡化结果的直方图');
图像灰度调整
Im=imread('Couple.bmp'); J=imadjust(Im,[0.3 0.7],[0 1]); subplot(2,2,1);
imshow(Im);
title('原图');
subplot(2,2,2);
imhist(Im);
title('原图直方图'); subplot(2,2,3);
imshow(J);
title('灰度调整结果'); subplot(2,2,4);
imhist(J);
title('灰度调整后的直方图');
图像频率滤波
data4=imread('Couple.bmp');
subplot(3,2,1);
imshow(data4);
title('原图');
i=fft2(data4);
subplot(3,2,2);
i=fftshift(i);
z=log(abs(i));
x=0:1:255;
y=0:1:255;
[x,y]=meshgrid(x,y);
mesh(z); %以三维坐标显示该图像频谱图
title('原图频谱');
[n,m]=size(i); %对该图进行低通滤波 for k=1:1:n
for l=1:1:m
if (k^2+l^2)>=190^2 %选取D=190 result(k,l)=0;
else result(k,l)=i(k,l);
end
end
end
subplot(3,2,4);
z=log(abs(result)); %三维方式显示低通滤波后的频谱图
x=0:1:255;
y=0:1:255;
[x,y]=meshgrid(x,y);
mesh(z);
title('理想低通滤波后的频谱');
subplot(3,2,3); %新建图像显示窗口
result=fftshift(result); %滤波后的数据去中心化
b=ifft2(result); %三维方式显示低通滤波前的频谱图
imshow(uint8(abs(b)));
title('理想低通滤波后的图像');
subplot(3,2,6); %新建图像显示窗口
% [n,m]=size(c); %对原图进行高通滤波
for k=1:1:n
for l=1:1:m
if (k^2+l^2)<=190^2 %选取D=190
result(k,l)=0;
else result(k,l)=i(k,l);
end
end
end
z=log(abs(result));
x=0:1:255; %三维方式显示高通滤波前的频谱图 y=0:1:255;
[x,y]=meshgrid(x,y);
mesh(z);
title('理想高通滤波后的频谱');
subplot(3,2,5);
result=fftshift(result); %滤波后的数据去中心化
d=ifft2(result); %三维方式显示高通滤波后的频谱图
imshow(uint8(abs(d)));
title('理想高通滤波后的图像');
%频域增强(巴特沃斯原型)
%利用巴特沃斯(Butterworth)低通滤波器对受噪声干扰的图像进行平滑处理
clc;
clear;
J1=imread('Couple.bmp');
subplot(3,2,1);
imshow(J1);
title('原图');
f=double(J1);
g=fft2(f); % 傅立叶变换
g=fftshift(g); % 转换数据矩阵
subplot(3,2,2);
x=0:1:255;
y=0:1:255;
[x,y]=meshgrid(x,y);
z=log(abs(g)); %取幅度
mesh(z); %以三维坐标显示该图像频谱图
title('原图频谱');
[M,N]=size(g);
nn=2; % 二阶巴特沃斯(Butterworth)低通滤波器
d0=20;
m=fix(M/2); n=fix(N/2);
for i=1:M
for j=1:N
d=sqrt((i-m)^2+(j-n)^2);
h=1/(1+0.414*(d/d0)^(2*nn)); % 计算低通滤波器传递函数
result(i,j)=h*g(i,j);
end
end
subplot(3,2,4);
x=0:1:255;
y=0:1:255;
[x,y]=meshgrid(x,y);
z=log(abs(result)); %取幅度
mesh(z); %以三维坐标显示该图像频谱图
title('低通滤波后的频谱');
result=ifftshift(result);
J2=ifft2(result);
J3=uint8(abs(J2));
subplot(3,2,3);
imshow(J3);
title('低通滤波后的图像');
%利用巴特沃斯(Butterworth)高通滤波器对受噪声干扰的图像进行平滑处理 nn=2; % 二阶巴特沃斯(Butterworth)高通滤波器
d0=5;
m=fix(M/2);
n=fix(N/2);
for i=1:M
for j=1:N
d=sqrt((i-m)^2+(j-n)^2);
if (d==0)
h=0;
else
h=1/(1+0.414*(d0/d)^(2*nn));% 计算传递函数 end
result(i,j)=h*g(i,j);
end
end
subplot(3,2,6);
x=0:1:255;
y=0:1:255;
[x,y]=meshgrid(x,y);
z=log(abs(result)); %取幅度
mesh(z); %以三维坐标显示该图像频谱图
title('高通滤波后的频谱');
result=ifftshift(result);
J2=ifft2(result);
J3=uint8(abs(J2));
subplot(3,2,5);
imshow(J3);
title('高通滤波后的图像');
Xx通大学数字图像处理与通信课程实验报告班级实验项目名称实验项目性质实验所属课程实验室中心指导教师实验完成时间图像灰度化处理设计性…
实验报告专业信息与计算科学班级07级1班指导老师汪太月老师姓名刘莲学号0641210224实验室K7407实验名称Matlab图像…
数字图像处理实验报告一实验目的1熟悉MATLAB基本图像操作2结合实例学习如何在程序中增加图像处理算法3理解和掌握图像的线性变换和…
数字图像处理实验指导书实验一空域图像处理一实验目的1熟悉CCS集成开发环境的操作和基本功能2熟悉MATLAB基本图像操作3结合实例…
数字图像处理增强对比度一实验目的1利用MATLAB进行数字图像处理2对图像进行数字图像处理使图像增强对比度二实验内容zximrea…
电子科技大学中山学院电子信息学院学生实验报告注实验报告不得少于2页不得超过5页电子科技大学中山学院电子信息学院学生实验报告电子科技…
杭州电子科技大学课程智能控制授课老师高云圆课题BP神经网络1研究题目编写一个利用前向传播神经网络进行字符识别的程序设神经网络为具有…
数字图像处理实验报告姓名罗靓学号0103120xx4班级地理信息系统1201指导教师梅小明地球科学与信息物理学院20xx年5月24…
数字图像处理作业图像恢复摘要数字图像恢复是数字图像处理的一个基本的和重要的课题它是后期图像处理分析和理解的前提图像在摄取传输储存的…
数字图像处理实验一MATLAB数字图像处理初步一显示图像1利用imread函数读取一幅图像假设其名为lilytif存入一个数组中2…