数字图像处理MATLAB程序实验大纲.docx

上传人:b****7 文档编号:23979703 上传时间:2023-05-23 格式:DOCX 页数:17 大小:403.72KB
下载 相关 举报
数字图像处理MATLAB程序实验大纲.docx_第1页
第1页 / 共17页
数字图像处理MATLAB程序实验大纲.docx_第2页
第2页 / 共17页
数字图像处理MATLAB程序实验大纲.docx_第3页
第3页 / 共17页
数字图像处理MATLAB程序实验大纲.docx_第4页
第4页 / 共17页
数字图像处理MATLAB程序实验大纲.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

数字图像处理MATLAB程序实验大纲.docx

《数字图像处理MATLAB程序实验大纲.docx》由会员分享,可在线阅读,更多相关《数字图像处理MATLAB程序实验大纲.docx(17页珍藏版)》请在冰豆网上搜索。

数字图像处理MATLAB程序实验大纲.docx

数字图像处理MATLAB程序实验大纲

实验一图像的点运算

实验1.1直方图

一.实验目的

1.熟悉matlab图像处理工具箱及直方图函数的使用;

2.理解和掌握直方图原理和方法;

二.实验设备

1.PC机一台;2.软件matlab。

三.程序设计

在matlab环境中,程序首先读取图像,然后调用直方图函数,设置相关参数,再输出处理后的图像。

I=imread('cameraman.tif');%读取图像

subplot(1,2,1),imshow(I)%输出图像

title('原始图像')%在原始图像中加标题

subplot(1,2,2),imhist(I)%输出原图直方图

title('原始图像直方图')%在原图直方图上加标题

四.实验步骤

1.启动matlab

双击桌面matlab图标启动matlab环境;

2.在matlab命令窗口中输入相应程序。

书写程序时,首先读取图像,一般调用matlab自带的图像,如:

cameraman图像;再调用相应的直方图函数,设置参数;最后输出处理后的图像;

3.浏览源程序并理解含义;

4.运行,观察显示结果;

5.结束运行,退出;

五.实验结果

观察图像matlab环境下的直方图分布。

(a)原始图像(b)原始图像直方图

六.实验报告要求

1、给出实验原理过程及实现代码;

2、输入一幅灰度图像,给出其灰度直方图结果,并进行灰度直方图分布原理分析。

实验1.2直方图均衡化

一.实验目的

1.熟悉matlab图像处理工具箱中直方图均衡化函数的使用;

2.理解和掌握直方图均衡化原理和实现方法;

二.实验设备

1.PC机一台;

2.软件matlab;

三.程序设计

在matlab环境中,程序首先读取图像,然后调用灰度均衡函数,设置相关参数,再输出处理后的图像。

I=imread('cameraman.tif');%读取图像

subplot(2,2,1),imshow(I)%输出图像

title('原始图像')%在原始图像中加标题

subplot(2,2,3),imhist(I)%输出原图直方图

title('原始图像直方图')%在原图直方图上加标题

a=histeq(I,256);%直方图均衡化,灰度级为256

subplot(2,2,2),imshow(a)%输出均衡化后图像

title('均衡化后图像')%在均衡化后图像中加标题

subplot(2,2,4),imhist(a)%输出均衡化后直方图

title('均衡化后图像直方图')%在均衡化后直方图上加标题

四.实验步骤

1.启动matlab:

双击桌面matlab图标启动matlab环境;

2.在matlab命令窗口中输入相应程序。

书写程序时,首先读取图像,一般调用matlab自带的图像,如:

cameraman图像;再调用相应的灰度均衡函数,设置参数;最后输出处理后的图像;

3.浏览源程序并理解含义;

4.运行,观察显示结果;

5.结束运行,退出;

五.实验结果

观察matlab环境下图像灰度均衡结果及直方图分布。

(a)原始图像(b)均衡化后图像

(c)原始图像直方图(d)均衡化后图像直方图

实验二图像滤波

实验2.13*3均值滤波

一.实验目的

1.熟悉matlab图像处理工具箱及均值滤波函数的使用;

2.理解和掌握3*3均值滤波的方法和应用;

二.实验设备

1.PC机一台;

2.软件matlab;

三.程序设计

在matlab环境中,程序首先读取图像,然后调用图像增强(均值滤波)函数,设置相关参数,再输出处理后的图像。

I=imread('cameraman.tif');

figure,imshow(I);

J=filter2(fspecial(‘average’,3),I)/255;

figure,imshow(J);

四.实验步骤

1.启动matlab

双击桌面matlab图标启动matlab环境;

2.在matlab命令窗口中输入相应程序。

书写程序时,首先读取图像,一般调用matlab自带的图像,如:

cameraman图像;再调用相应的图像增强(均值滤波)函数,设置参数;最后输出处理后的图像;

3.浏览源程序并理解含义;

4.运行,观察显示结果;

5.结束运行,退出;

五.实验结果

观察matlab环境下原始图像经3*3均值滤波处理后的结果。

(a)原始图像(b)3*3均值滤波处理后的图像

图(3)

实验2.23*3中值滤波

一.实验目的

1.熟悉matlab图像处理工具箱及中值滤波函数的使用;

2.理解和掌握中值滤波的方法和应用;

二.实验设备

1.PC机一台;

2.软件matlab;

三.程序设计

在matlab环境中,程序首先读取图像,然后调用图像增强(中值滤波)函数,设置相关参数,再输出处理后的图像。

I=imread('cameraman.tif');

figure,imshow(I);

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

figure,imshow(J);

四.实验步骤

1.启动matlab

双击桌面matlab图标启动matlab环境;

2.在matlab命令窗口中输入相应程序。

书写程序时,首先读取图像,一般调用matlab自带的图像,如:

cameraman图像;再调用相应的图像增强(中值滤波)函数,设置参数;最后输出处理后的图像;

3.浏览源程序并理解含义;

4.运行,观察显示结果;

5.结束运行,退出;

五.实验结果

观察matlab环境下原始图像经3*3中值滤波处理后的结果。

(a)原始图像(b)3*3中值滤波处理后的图像

图(4)

实验三图像几何变换

实验3.1图像的缩放

一.实验目的

1.熟悉matlab图像处理工具箱及图像缩放函数的使用;

2.掌握图像缩放的方法和应用;

二.实验设备

1.PC机一台;

2.软件matlab;

三.程序设计

在matlab环境中,程序首先读取图像,然后调用图像缩放函数,设置相关参数,再输出处理后的图像。

I=imread('cameraman.tif');

figure,imshow(I);

scale=0.5;

J=imresize(I,scale);

figure,imshow(J);

四.实验步骤

1.启动matlab

双击桌面matlab图标启动matlab环境;

2.在matlab命令窗口中输入相应程序。

书写程序时,首先读取图像,一般调用matlab自带的图像,如:

cameraman图像;再调用相应的图像缩放函数,设置参数;最后输出处理后的图像;

3.浏览源程序并理解含义;

4.运行,观察显示结果;

5.结束运行,退出;

五.实验结果

观察matlab环境下图像缩放后的结果。

(a)原始图像(b)缩放后的图像

图(5)

实验3.2图像旋转

一.实验目的

1.熟悉matlab图像处理工具箱及图像旋转函数的使用;

2.理解和掌握图像旋转的方法和应用;

二.实验设备

1.PC机一台;

2.软件matlab;

三.程序设计

在matlab环境中,程序首先读取图像,然后调用图像旋转函数,设置相关参数,再输出处理后的图像。

I=imread('cameraman.tif');

figure,imshow(I);

theta=30;

K=imrotate(I,theta);%Tryvaryingtheangle,theta.

figure,imshow(K)

四.实验步骤

1.启动matlab

双击桌面matlab图标启动matlab环境;

2.在matlab命令窗口中输入相应程序。

书写程序时,首先读取图像,一般调用matlab自带的图像,如:

cameraman图像;再调用相应的图像旋转函数,设置参数;最后输出处理后的图像;

3.浏览源程序并理解含义;

4.运行,观察显示结果;

5.结束运行,退出;

五.实验结果

观察matlab环境下图像旋转后的结果。

(a)原始图像(b)旋转后的图像

图(7)

 

实验四图像边缘检测

实验4.1边缘检测(Sobel、Prewitt、Log边缘算子)

一.实验目的

1.熟悉matlab图像处理工具箱及图像边缘检测函数的使用;

2.理解和掌握图像边缘检测(Sobel、Prewitt、Log边缘算子)的方法和应用;

二.实验设备

1.PC机一台;

2.软件matlab;

三.程序设计

在matlab环境中,程序首先读取图像,然后调用图像边缘检测(Sobel、Prewitt、Log边缘算子)函数,设置相关参数,再输出处理后的图像。

I=imread('cameraman.tif');

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);

四.实验步骤

1.启动matlab

双击桌面matlab图标启动matlab环境;

2.在matlab命令窗口中输入相应程序。

书写程序时,首先读取图像,一般调用matlab自带的图像,如:

cameraman图像;再调用相应的边缘检测(Sobel边缘算子、Prewitt边缘算子、Log边缘算子)函数,设置参数;最后输出处理后的图像;

3.浏览源程序并理解含义;

4.运行,观察显示结果;

5.结束运行,退出;

五.实验结果

观察经过图像边缘检测(Sobel、Prewitt、Log边缘算子)处理后的结果。

(a)原始图像(b)Sobel边缘算子

(c)Prewitt边缘算子(d)Log边缘算子

图(7)

六.实验报告要求

输入一幅灰度图像,给出其图像边缘检测(Sobel、Prewitt、Log边缘算子)后的结果并进行分析对比。

实验五图像傅立叶变换

%%%%%图像傅里叶变换实验

I1=imread(‘lena.tif\);%读入原图像文件

I2=imread('cell.tif');%读入原图像文件

I3=imread('cameraman.tif');%读入原图像文件

subplot(3,2,1);imshow(I1);%显示原图像

fftI1=fft2(I1);%二维离散傅立叶变换

sfftI1=fftshift(fftI1);%直流分量移到频谱中心

RR1=real(sfftI1);%取傅立叶变换的实部

II1=imag(sfftI1);%取傅立叶变换的虚部

A1=sqrt(RR1.^2+II1.^2);%计算频谱幅值

A1=(A1-min(min(A1)))/(max(max(A1))-min(min(A1)))*225;%归一化

subplot(3,2,2);imshow(A1);%显示原图像的频谱

subplot(3,2,3);imshow(I2);%显示原图像

fftI2=fft2(I2);%二维离散傅立叶变换

sfftI2=fftshift(fftI2);%直流分量移到频谱中心

RR2=real(sfftI2);%取傅立叶变换的实部

II2=imag(sfftI2);%取傅立叶变换的虚部

A2=sqrt(RR2.^2+II2.^2);%计算频谱幅值

A2=(A2-min(min(A2)))/(max(max(A2))-min(min(A2)))*225;%归一化

subplot(3,2,4);imshow(A2);%显示原图像的频谱

subplot(3,2,5);imshow(I3);%显示原图像

fftI3=fft2(I3);%二维离散傅立叶变换

sfftI3=fftshift(fftI3);%直流分量移到频谱中心

RR3=real(sfftI3);%取傅立叶变换的实部

II3=imag(sfftI3);%取傅立叶变换的虚部

A3=sqrt(RR3.^2+II3.^2);%计算频谱幅值

A3=(A3-min(min(A3)))/(max(max(A3))-min(min(A3)))*225;%归一化

subplot(3,2,6);imshow(A3);%显示原图像的频谱

实验六图像分割

%直方图双峰法分割

I1=imread('cell.tif');%读入原图像文件

subplot(2,3,1);imshow(I1);%显示原图像

subplot(2,3,2),imhist(I1);

level=graythresh(I1);

I2=im2bw(I1,level);

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

%边界检测法分割

I3=imread('cell.tif');%读入原图像文件

subplot(2,3,4);imshow(I3);%显示原图像

I4=edge(I3,'sobel');

[B,L]=bwboundaries(I4,'noholes');

subplot(2,3,5),imshow(-im2bw(L));

holdon

fork=1:

length(B)

boundary=B{k};

plot(boundary(:

2),boundary(:

1),'w','linewidth',2);

end

实验七图像退化复原

%%%%%%%%%%%%%%%%%%%%图像复原实验(维纳滤波)

I=imread('e:

\testimage\Lena.bmp');

%I=rgb2gray(I);

J1=imnoise(I,'gaussian',0,0.02);

J2=imnoise(I,'salt&pepper',0.02);

subplot(2,5,1),imshow(I);

title('originalimage');

subplot(2,5,2),imshow(J1);

title('gaussiannosiedimage');

subplot(2,5,7),imshow(J2);

title('saltnosiedimage');

K1=wiener2(J1,[33]);;%gaussiannoise

K2=wiener2(J1,[55]);

K3=wiener2(J1,[99]);

subplot(2,5,3),imshow(K1);

title('wiener3*3image');

subplot(2,5,4),imshow(K2);

title('wiener5*5image');

subplot(2,5,5),imshow(K3);

title('wiener9*9image');

K4=wiener2(J2,[33]);%saltpeppernoise

K5=wiener2(J2,[55]);

K6=wiener2(J2,[99]);

subplot(2,5,8),imshow(K4);

title('wiener3*3image');

subplot(2,5,9),imshow(K5);

title('wiener5*5image');

subplot(2,5,10),imshow(K6);

title('wiener9*9image');

实验八图像代数运算

图像代数(加与减)运算:

I=imread('lena.jpg');

J=rgb2gray(I);

K=histeq(J,256);

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

subplot(2,2,2),imshow(K);title('直方图均衡化图像K')G=double(J)-double(K);

subplot(2,2,3),imshow(uint8(G));title('J-K')

H=double(K)+double(J);

subplot(2,2,4),imshow(uint8(H));title('J+K')

 

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

当前位置:首页 > PPT模板 > 节日庆典

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

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