数字图像处理期末报告论文.docx

上传人:b****5 文档编号:5699322 上传时间:2022-12-31 格式:DOCX 页数:14 大小:17.87KB
下载 相关 举报
数字图像处理期末报告论文.docx_第1页
第1页 / 共14页
数字图像处理期末报告论文.docx_第2页
第2页 / 共14页
数字图像处理期末报告论文.docx_第3页
第3页 / 共14页
数字图像处理期末报告论文.docx_第4页
第4页 / 共14页
数字图像处理期末报告论文.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

数字图像处理期末报告论文.docx

《数字图像处理期末报告论文.docx》由会员分享,可在线阅读,更多相关《数字图像处理期末报告论文.docx(14页珍藏版)》请在冰豆网上搜索。

数字图像处理期末报告论文.docx

数字图像处理期末报告论文

 

图像输入与输出基本操作

 

一、实验题目:

图像输入与输出操作

二、实验目的

学习在 MATLAB 环境下对图像文件的 I/O 操作,为读取各种格式的图像文件和后续进行图像处理打

下基础。

三、实验内容

利用 MATLAB 为用户提供的专门函数从图像格式的文件中读/写图像数据、显示图像,以及查询图像

文件的信息。

四、预备知识

熟悉 MATLAB 开发环境。

五、实验步骤:

(1)利用 imread 函数完成对图像文件的读取操作。

源代码:

I=imread('Couple.bmp');

imshow Couple.bmp

图像显示:

 

(2)利用 imwrite 函数完成图像的写入(保存)操作。

源代码:

I=imread('Couple.bmp');

imwrite(I,'111.bmp')

图像显示:

 

(3)利用 imshow 函数显示图像。

源代码:

I1=imread('lena.bmp');

I2=imread('image1.jpg');

I3=imread('Couple.bmp');

I4=imread('image2.jpg');

subplot(2,2,1), imshow(I1);

subplot(2,2,2), imshow(I2);

subplot(2,2,3), imshow(I3);

subplot(2,2,4), imshow(I4);

图像显示:

 

在一个图形窗口中显示多幅图像

源代码:

I=imread('Couple.bmp');

imshow(I);

colorbar;

图像显示:

 

显示图像并加入颜色条

从上图可知,该图像是数据类型为 uint8 的灰度图像,其灰度级范围从 0

-255。

(4)利用 imfinfo 函数查询图像文件的有关信息。

源代码:

info=imfinfo('Couple.bmp')

显示结果:

info =

Filename:

 'Couple.bmp'

FileModDate:

 '29-Apr-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

图像平滑与滤波

 

一、实验题目:

图像平滑与滤波

二、实验目的:

在熟悉图像平滑的基本原理和方法的基础上,在理论指导下,能在 MATLAB 环境下对图像进行平滑

处理。

本实验要求用线性平滑滤波、中值平滑滤波、频域低通滤波的方法进行程序设计。

经过平滑处理,

对结果图像加以比较,得出自己的实验结论。

三、实验内容:

(1)利用 MATLAB 为用户提供的专门函数实现均值滤波。

(2)利用 MATLAB 为用户提供的专门函数实现中值滤波。

(3)编写频域理想低通、巴特沃斯低通及高斯低通滤波函数。

四、预备知识:

(1)熟悉平滑滤波原理。

(2)熟悉频域滤波原理。

(3)熟悉在 MATLAB 环境下对图像文件的 I/O 操作。

五、实验步骤:

(1)对给定的图像添加均值为 0,方差分别为 200、400 的高斯噪声,以及概率分别为 0.1、0.2 的椒

盐噪声,显示添加噪声后的图像。

源代码:

a)加入噪声强度为 d=0.2 的椒盐噪声:

I=imread('Couple.bmp');

J=imnoise(I,'salt & pepper',0.2);%给图像加入椒盐噪声

subplot(1,2,1);imshow(I);title('原始图像');

subplot(1,2,2);imshow(J);title('加入椒盐噪声的图像')

图像显示:

 

b)加入噪声强度为 d=0.1 的椒盐噪声:

I=imread('Couple.bmp');

J=imnoise(I,'salt & pepper',0.1);%给图像加入椒盐噪声

subplot(1,2,1);imshow(I);title('原始图像');

subplot(1,2,2);imshow(J);title('加入椒盐噪声的图像')

图像显示:

 

原始图像和加入椒盐噪声后的图像

c)加入均值 m=0,方差 v=200 的高斯噪声:

I=imread('Couple.bmp');

J=imnoise(I,'gaussian',0 ,200);%给图像加入高斯噪声

subplot(1,2,1);imshow(I);title('原始图像');

subplot(1,2,2);imshow(J);title('加入高斯噪声图像')

图像显示:

 

d)加入均值 m=0,方差 v=400 的高斯噪声:

I=imread('Couple.bmp');

J=imnoise(I,'gaussian',0 ,400);% 给图像加入高斯噪声

subplot(1,2,1);imshow(I);title('原始图像');

subplot(1,2,2);imshow(J);title('加入高斯噪声图像')

图像显示:

 

(2)对加噪图像分别进行3×3、5×5、9×9的均值滤波,显示并比较滤波结果。

源代码:

I=imread('Couple.bmp');

J=imnoise(I,'salt & pepper',0.2);% 给图像加入椒盐噪声

h=fspecial('average',3);

s=fspecial('average',5);

 

p=fspecial('average',9);

gd=imfilter(J,h);

qw=imfilter(J,s);

er=imfilter(J,p);

subplot(2,2,1);imshow(J);title('加入椒盐噪声的图像');

subplot(2,2,2);imshow(gd);title('3*3模板均值滤波');

subplot(2,2,3);imshow(qw);title('5*5模板均值滤波');

subplot(2,2,4);imshow(er);title('9*9模板均值滤波');

图像显示:

 

(3)对加噪图像分别进行 3×3、5×5、9×9 的中值滤波,显示并比较滤波结果。

源代码:

I=imread('Couple.bmp');

J=imnoise(I,'salt & pepper',0.2);% 给图像加入椒盐噪声

 

% h=fspecial('average',3);

%s=fspecial('average',5);

%p=fspecial('average',9);

gd=medfilt2(J,[3 3]);

qw=medfilt2(J,[5 5]);

er=medfilt2(J,[9 9]);

subplot(2,2,1);imshow(J);title('加入椒盐噪声的图像');

subplot(2,2,2);imshow(gd);title('3*3模板中值滤波');

subplot(2,2,3);imshow(qw);title('5*5模板中值滤波');

subplot(2,2,4);imshow(er);title('9*9模板中值滤波');

图像显示:

 

(4)对加噪图像进行截止频率 D0分别为 10、25 的理想低通、巴特沃斯低通及高斯低通滤波,显示并

比较滤波结果。

理想低通

源代码:

I=imread('lena.bmp');

I=imnoise(I,'gaussian');

[f1 f2]=freqspace(size(I),'meshgrid'); %生成频率序列矩阵

Hd=ones(size(I)); %构造低通滤波器大小

r=sqrt(f1.^2+f2.^2);%构造低通滤波器决策函数

Hd(r>0.5)=0;%构造低通滤波器

Y=fft2(double(I));%对图像I进行Fourier变换

Y=fftshift(Y);%频谱平移

Ya=Y.*Hd;%低通滤波

 

Ya=ifftshift(Ya);%反变换

Ia=ifft2(Ya);

imshow(I);%输出

title('加噪图像');

figure

(2);

imshow(uint8(Ia));

title('理想低通滤波后图像');

%保存结果

imwrite(uint8(Ia),'after_lvbo','bmp');

显示结果:

 

巴特沃斯低通滤波:

源代码:

D0=10

% Butterworth低通滤波器

I=imread('Couple.bmp');

I=imnoise(I,'salt & pepper',0.2);

[f1 f2]=freqspace(size(I),'meshgrid');

D=10;%截止频率

n=4;

Hd=ones(size(I));

r=sqrt(f1.^2+f2.^2);

for i=1:

size(I,1);

for j=1:

size(I,2);

t=r(i,j)/(D*D);

Hd(i,j)=1/(t^n+1);%构造滤波函数

end

end

 

Y=fft2(double(I));

Y=fftshift(Y);

Ya=Y.*Hd;

Ya=ifftshift(Ya);

Ia=ifft2(Ya);

figure

(1);

imshow(I);

title('加噪后图像');

figure

(2);

imshow(uint8(Ia));

title('butterworth 滤波后图像');

显示结果:

 

源代码:

D0=25

% Butterworth低通滤波器

I=imread('Couple.bmp');

I=imnoise(I,'salt & pepper',0.2);

[f1 f2]=freqspace(size(I),'meshgrid');

D=25;%截止频率

n=4;

Hd=ones(size(I));

r=sqrt(f1.^2+f2.^2);

for i=1:

size(I,1);

for j=1:

size(I,2);

t=r(i,j)/(D*D);

Hd(i,j)=1/(t^n+1);%构造滤波函数

end

end

 

Y=fft2(double(I));

Y=fftshift(Y);

Ya=Y.*Hd;

Ya=ifftshift(Ya);

Ia=ifft2(Ya);

figure

(1);

imshow(I);

title('加噪后图像');

figure

(2);

imshow(uint8(Ia));

title('butterworth 滤波后图像');

图像显示:

 

图像增强

一、实验题目:

图像增强

二、实验目的:

(1)了解图像增强的内容和意义;

(2)掌握基于空域的图像增强方法;

(3)掌握基于频域的图像增强方法。

三、实验内容:

(1)综合运用直方图均衡、灰度变换、锐化空域滤波等方法编程实现对图像的空域增强处理;

(2)编程实现图像的频域增强处理。

四、预备知识:

(1)熟悉 MATLAB 图像输入输出操作;

(2)熟悉图像的模板操作;

(3)熟悉图像的频域变换处理;

(4)熟悉二维频谱的显示方法。

五、实验步骤:

(1)读入图像;

(2)针对图像特点设计方案,综合运用直方图均衡、灰度变换、锐化滤波等空

域增强方法编程实现对图像的增强处理;

(3)编程实现频域增强处理。

源代码:

clc

clear all

image=imread('Couple.bmp');

figure

(1);

subplot(221);

imhist(image);

title('原始图像直方图');

subplot(222);

imshow(image);

title('原始图像');

 

b=histeq(image,256); %将直方图均衡化为256级

subplot(223);

imhist(b);

title('均衡化后的直方图');

subplot(224);

imshow(b);

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('灰度调整后的直方图');

图像显示:

 

%利用灰度变化进行图像增强

low_high_in=stretchlim(image);%得到图像的灰度变化范围

 

low_in=low_high_in

(1);

high_in=low_high_in

(2);

low_out=0.2;%灰度变化后图像灰度最小值(归一化)

high_out=0.8;%灰度变化后图像灰度最大值(归一化)

gamma=0.55;%gamma大于1时图像变暗,小于1时图像变亮

J=imadjust(image,[low_in high_in],[low_out high_out],gamma);

figure

(2);

subplot(221);

imshow(J);

title('灰度变化图像增强效果');

 

%锐化空域滤波增强图像

h=[-1 -1 -1;-1 8 -1 ;-1 -1 -1]; %锐化滤波器模板

y=imfilter(image,h);

subplot(222);

imshow(uint8(y));

title('锐化空域滤波增强效果');

 

%频率滤波处理

[f1 f2]=freqspace(size(image),'meshgrid'); %生成频率序列矩阵

D=0.5;%截止频率

n=4;

Hd=ones(size(image));

r=sqrt(f1.^2+f2.^2);

for i=1:

size(image,1);

for j=1:

size(image,2);

t=(D*D)/r(i,j);

Hd(i,j)=1/(t^n+1);%构造butterworth高通滤波函数

 

end

end

Y=fft2(double(image));

Y=fftshift(Y);

Ya=Y.*Hd;

Ya=ifftshift(Ya);

Ia=ifft2(Ya);

subplot(223);

imshow(Ia);

title('butterworth高通滤波效果');

 

%带通滤波

[f1 f2]=freqspace(size(image),'meshgrid'); %生成频率序列矩阵

r=sqrt(f1.^2+f2.^2);

gd=ones(size(image));

gd(r>=0.6)=0;

gd(r<=0.2)=0;

image_fft=fft2(image);

image_fft=fftshift(image_fft);

Y=image_fft.*gd;

Ya=ifftshift(Y);

Ya=ifft2(Ya);

subplot(224);

imshow(Ya);

title('带通滤波进行图像增强后效果');

 

%同态滤波(滤波系统采用低通滤波)

image=imread('Couple.bmp');

[m n]=size(image);

image_ln=zeros(m,n);

for i=1:

m

for j=1:

n

image_ln(i,j)=log(double(image(i,j)));

end

end

image_ln_fft=fft2(image_ln);

image_ln_fft=fftshift(image_ln_fft);

[f1 f2]=freqspace(size(image),'meshgrid'); %生成频率序列矩阵

r=sqrt(f1.^2+f2.^2);

gd=ones(size(image));

gd(r>0.3)=0;

Y=image_ln_fft.*gd;

Ya=ifftshift(Y);

Ya=ifft2(Ya);

 

for i=1:

m

for j=1:

n

Ya(i,j)=exp(double(Ya(i,j)));

end

end

figure(3);

imshow(uint8(Ya));

title('同态滤波输出效果');

图像显示:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1