matlab数字图像处理实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数字图像处理实验报告》
实验一图像的增强
一.实验目的
1.熟悉图像在MATLAB下的读写、输出;
2.熟悉直方图;
3.熟悉图像的线性指数等;
4.熟悉图像的算术运算和几何变换。
二.实验仪器
计算机、MATLAB软件
三.实验原理
图像增强是指根据特定的需要突出图像中的重要信息,同时减弱或去除不需要的信息。从不同的途径获取的图像,通过进行适当的增强处理,可以将原本模糊不清甚至根本无法分辨的原始图像处理成清晰的富含大量有用信息的可使用图像。
其基本原理是:对一幅图像的灰度直方图,经过一定的变换之后,使其成为均匀或基本均匀的,即使得分布在每一个灰度等级上的像素个数.f=H等或基本相等。此方法是典刑的图像空间域技术处理,但是由于灰度直方图只是近似的概率密度函数,因此,当用离散的灰度等级做变换时,很难得到完全平坦均匀的结果。
频率域增强技术频率域增强是首先将图像从空间与变换到频域,然后进行各种各样的处理,再将所得到的结果进行反变换,从而达到图像处理的目的。常用的变换方法有傅里叶变换、DCT变换、沃尔什-哈达玛变换、小波变换等。假定原图像为f(x,y),经傅立叶变换
为F(u,v)。频率域增强就是选择合适的滤波器H(u,v)对F(u,v)的频谱成分进行处理,然后经逆傅立叶变换得到增强的图像。
四.实验内容及步骤
1.图像在MATLAB下的读写、输出;
实验过程:
>> I = imread('F:\image\');
figure;imshow(I);title('Original Image');
text(size(I,2),size(I,1)+15, ...
'', ...
'FontSize',7,'HorizontalAlignment','right');
Warning: Image is too big to fit on screen; displaying at 25% > In imuitools\private\initSize at 86
In imshow at 196
2.给定函数的累积直方图。
>> clear all;
close all;
>> r=127;
x=-r:r+1;
sigma=20;
y1=exp(-((x-80).^2)/(2*sigma^2));
y2=exp(-((x+80).^2)/(2*sigma^2));
y=y1+y2; %双峰高斯函数,任意函数都可
以
%im=imread(''); %匹配一个图像的直方图
%y=imhist(im);
y=y/sum(y); %归一化,使函数符合概率分布的sum(y)==1这样一个规律
plot(y); %待匹配的直方图
G=[]; %函数的累积直方图
for i=1:256
G=[G sum(y(1:i))];
end
3.图像及直方图显示
i=imread('F:\image\');
k=rgb2gray(i);
subplot(1,2,1);imshow(i);
subplot(1,2,2);imhist(k,64);
五.实验分析
通过以上一系列的图片可以看出,低通滤波器可以抑制图像噪声,改善图像质量,高通滤波器可以突出图像的边界。
图像处理的过程是一个将多种算法综合运用的过程,任何单独算法都不是完美的,多种算法的结合才能够相互取长补短从而弥补不足,
达到更好的处理效果。本软件的开发基于这一思路,将各个普通的图像处理功能集成到软件后台,并对其进行了区间优化和连接融合,部分原函数被适当改写,使其能够用于极端恶劣条件下目标的清晰显现和准确定位。
实验二图像变换
一.实验目的
1.了解正交变换的基本概念;
2.掌握图像的离散傅里叶及余弦;
3.熟悉图像的沃什变换和哈德曼变换。
二.实验仪器
计算机、MATLAB软件
三.实验原理
为了有效地和快速地对图像进行处理和分析,常常需要将原定义在图像空间的图像以某种形式转换到另外一些空间,并利用在这些空间是的特有的性质方便地进行一定的加工,最后在转换回图像空间以得到所需要的效果。这种使图像处理简化的方法通常是对图像进行变换。
四.实验内容及步骤
1.二值图像的傅里叶变换
代码如下:
f=zeros(30,30);
f(5:24,13:17)=1;
subplot(2,2,1);imshow(f,'notruesize');
xlabel('(a)创建的二值图像');
F=fft2(f);
subplot(2,2,2);mesh(fftshift(abs(F)));
xlabel('(b)频谱图');
F1=fftshift(log(abs(F)));
subplot(2,2,3);imshow(F1,[-1,5],'notruesize'); xlabel('(c)未填充频谱图');
colormap(jet);colorbar;
F=fft2(f,256,256);
subplot(2,2,4);imshow(fftshift(log(abs(F))),[-1,5]); xlabel('(d)填充后频谱图')
colormap(jet);colorbar;
(2
1)运行结果如下: