图像增强.docx
《图像增强.docx》由会员分享,可在线阅读,更多相关《图像增强.docx(15页珍藏版)》请在冰豆网上搜索。
图像增强
实验一图像增强
实验1.1直方图
一.实验目的
1.熟悉matlab图像处理工具箱及直方图函数的使用;
2.理解和掌握直方图原理和方法;
二.实验目标
Matlab自带图片,存储地址:
E:
\MATLAB2011\toolbox\images\imdemos(根据安装位置调整)
三.程序设计
在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、输入一幅灰度图像(不得使用“cameraman.tif”),给出其灰度直方图结果,并进行灰度直方图分布原理分析。
1、实验原理过程:
每一张图片都是一张灰度图片,都是由一些像素点组成,matlab读取图片,并显示该图片的灰度级范围。
实现代码:
I=imread('D:
\MATLAB7\toolbox\images\imdemos\rice.png');%读取图像
subplot(1,2,1),imshow(I)%输出图像
subplot(1,2,2),imhist(I)%输出原图直方图
title('原始图像直方图')%在原图直方图上加标题
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)均衡化后图像直方图
六.实验报告要求
1、给出实验原理过程及实现代码;
2、输入一幅灰度图像,给出其灰度均衡结果,并进行灰度均衡化前后图像直方图分布对比分析。
1、实验原理过程:
应用matlab自带histeq函数将图片在直方图中分布均匀
实现代码:
I=imread('D:
\MATLAB7\toolbox\images\imdemos\rice.png');%读取图像
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('均衡化后图像直方图')%在均衡化后直方图上加标题
2、
实验二图像平滑
实验2.1噪声添加
一.实验目的
1.熟悉matlab图像处理工具箱及噪声添加的方法;
2.理解和掌握产生高斯噪声和椒盐噪声的方法和应用;
二.实验设备
1.PC机一台;
2.软件matlab;
三.程序设计
在matlab环境中,程序首先读取图像,然后调用添加噪音函数,设置相关参数,再输出处理后的图像。
椒盐噪声:
clearall;closeall;
I=imread('cameraman.tif');
I=im2double(I);
R=rand(size(I));
J=I;
J(R<=0.02)=0;
K=I;
K(R<=0.03)=1;
figure;
subplot(121);imshow(J);
subplot(122);imshow(K);
高斯噪声:
clearall;closeall;
I=uint8(100*ones(256,256));
J=imnoise(I,'gaussian',0,0.01);
K=imnoise(I,'gaussian',0,0.03);
figure;
subplot(121);imshow(J);
subplot(122);imhist(J);
figure;
subplot(121);imshow(K);
subplot(122);imhist(K);
四.实验步骤
1.启动matlab
双击桌面matlab图标启动matlab环境;
2.在matlab命令窗口中输入相应程序。
书写程序时,首先读取图像,一般调用matlab自带的图像,如:
cameraman图像;再调用相应的噪声添加函数,设置参数;最后输出处理后的图像;
3.浏览源程序并理解含义;
4.运行,观察显示结果;
5.结束运行,退出;
五.实验结果
观察matlab环境下原始图像经噪声添加处理后的结果。
(a)原始图像(b)(c)添加噪声后的图像
图(3)
六.实验报告要求
输给椒盐噪声程序添加注解,并分析产生原理。
clearall;closeall;%清除
I=imread('D:
\MATLAB7\toolbox\images\imdemos\rice.png');%读取图片
I=im2double(I);%把图像数据类型转换为双精度浮点类型
R=rand(size(I));%建立一个0到1的随机数组,随机数组的行列和原图片一样
J=I;%将I赋给J
J(R<=0.02)=0;%J中R小于等于0.02的变为0
K=I;%将I赋给K
K(R<=0.03)=1;%K中R小于等于0.03的变为1
figure;%输出图片
subplot(121);imshow(J);%一行两列显示,一列显示J
subplot(122);imshow(K);%一行两列显示,二列显示K
实验原理:
由相机拍摄的照片,经过自身相机的处理,有时需要图片质量更好,需要人为对图片进行添加噪声,通过matalb,盐=白色,椒=黑色。
前者是高灰度噪声,后者属于低灰度噪声。
一般两种噪声同时出现,呈现在图像上就是黑白杂点。
实验2.23*3均值滤波
一.实验目的
1.熟悉matlab图像处理工具箱及均值滤波函数的使用;
2.理解和掌握3*3均值滤波的方法和应用;
二.实验设备
1.PC机一台;
2.软件matlab;
三.程序设计
在matlab环境中,程序首先读取图像,然后调用图像增强(均值滤波)函数,设置相关参数,再输出处理后的图像。
clearall;closeall;
I=imread('cameraman.tif');
I=im2double(I);
I=imnoise(I,'gaussian',0.05);
PSF=fspecial('average',3);
J=imfilter(I,PSF);
figure;
subplot(121);imshow(I);
subplot(122);imshow(J);
四.实验步骤
1.启动matlab
双击桌面matlab图标启动matlab环境;
2.在matlab命令窗口中输入相应程序。
书写程序时,首先读取图像,一般调用matlab自带的图像,如:
cameraman图像;再调用相应的图像增强(均值滤波)函数,设置参数;最后输出处理后的图像;
3.浏览源程序并理解含义;
4.运行,观察显示结果;
5.结束运行,退出;
五.实验结果
观察matlab环境下原始图像经3*3均值滤波处理后的结果。
(a)原始图像(b)3*3均值滤波处理后的图像
图(4)
六.实验报告要求
(1)通过帮助文件解释程序含义。
(2)在一张图片上同时输出原图片和处理后的图片。
(3)输入一幅灰度图像,给出其图像经3*3均值滤波处理后的结果,然后对每一点的灰度值和它周围24个点,一共25个点的灰度值进行均值滤波,看看对25个点取均值与对9个点取中值进行均值滤波有什么区别?
1、clearall;closeall;
I=imread('D:
\MATLAB7\toolbox\images\imdemos\rice.png');
I=im2double(I);%把图像数据类型转换为双精度浮点类型
I=imnoise(I,'gaussian',0.05);%将图片I进行高斯噪声,方差是0.05的噪声
PSF=fspecial('average',3);%生成3*3均值滤波
J=imfilter(I,PSF);%进行滤波
figure;
subplot(121);imshow(I);
subplot(122);imshow(J);
2、原始图片3*3处理后图片
3、原始图片5*5处理后图片
5*5的处理之后图片质量更好一些。
实验2.33*3中值滤波
一.实验目的
1.熟悉matlab图像处理工具箱及中值滤波函数的使用;
2.理解和掌握中值滤波的方法和应用;
二.实验设备
1.PC机一台;
2.软件matlab;
三.程序设计
在matlab环境中,程序首先读取图像,然后调用图像增强(中值滤波)函数,设置相关参数,再输出处理后的图像。
I=imread('cameraman.tif');
figure,imshow(I);
I=im2double(I);
Y=imnoise(I,'salt&pepper',0.1);
J=medfilt2(Y,[5,5]);
figure,imshow(Y);
figure,imshow(J);
四.实验步骤
1.启动matlab
双击桌面matlab图标启动matlab环境;
2.在matlab命令窗口中输入相应程序。
书写程序时,首先读取图像,一般调用matlab自带的图像,如:
cameraman图像;再调用相应的图像增强(中值滤波)函数,设置参数;最后输出处理后的图像;
3.浏览源程序并理解含义;
4.运行,观察显示结果;
5.结束运行,退出;
五.实验结果
观察matlab环境下原始图像经3*3中值滤波处理后的结果。
(a)原始图像(b)添加噪音后的图像(c)3*3中值滤波处理后的图像
图(4)
六.实验报告要求
输入一幅灰度图像,给出其图像经3*3中值滤波处理后的结果,然后对每一点的灰度值和它周围24个点,一共25个点的灰度值进行排序后取中值,然后该点的灰度值取中值。
看看对25个点取中值与对9个点取中值进行中值滤波有什么区别?
原始图片
高斯噪声图片
5*5均值滤波
5*5均值滤波之后效果更好,图片质量更高。