mattlab《数字图像处理》实验报告02

广东海洋大学学生实验报告书(学生用表)

:请用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('高通滤波后的图像');

数字图像处理实验报告

相关推荐