东北大学matlab计算机图像处理实验报告文档格式.docx
《东北大学matlab计算机图像处理实验报告文档格式.docx》由会员分享,可在线阅读,更多相关《东北大学matlab计算机图像处理实验报告文档格式.docx(21页珍藏版)》请在冰豆网上搜索。
>
imshow(I);
效果:
(2)、RGB转灰度图像
graycat=rgb2gray(I);
subplot(1,2,1);
subimage(I);
subplot(1,2,2);
subimage(graycat);
(3)、RGB转索引图像
[indcat,map]=rgb2ind(I,0.7);
subimage(indcat,map);
(4)、索引图像转RGB
I1=ind2rgb(indcat,map);
subplot(1,2,1);
subimage(indcat,map);
subplot(1,2,2);
subimage(I1);
(5)、索引转灰度图像
i2gcat=ind2gray(indcat,map);
subimage(i2gcat);
(6)、灰度转索引图像
[g2icat,map]=gray2ind(graycat,64);
subimage(graycat);
subimage(g2icat,map);
(7)、RGB转二值图像
r2bwcat=im2bw(I,0.5);
subimage(I);
subimage(r2bwcat);
(8)灰度转二值图像
g2bwcat=im2bw(graycat,0.5);
subimage(g2bwcat);
(9)、索引转二值图像
i2bwcat=im2bw(indcat,map,0.7);
subimage(i2bwcat);
2、应用MATLAB工具箱演示一幅图像的傅里叶变换、离散余弦变换,观察其频谱图。
然后将它们进行逆变换,观察逆变换后的图像;
(1)傅里叶正变换
F=fft2(graycat);
subimage(log(abs(F)),[3,10]);
(2)傅里叶反变换
IF=ifft2(F);
subimage(uint8(IF));
(3)DCT变换
B=dct2(graycat);
subimage(log(abs(B)),[3,5]);
(4)iDCT变换
iB=idct2(B);
subimage(uint8(iB));
3.应用MATLAB语言编程来实现一幅图像的增强。
(1)取一幅灰度图像,对其进行线性点运算,要求:
要求线性函数为Y=aX+b,
(a,b)分别取(1.5,1.2)、(0.7,1.2),分析变化后图像,并分析直方图。
graycat=double(graycat);
graycat1=1.5*graycat+1.2;
subplot(2,2,1);
subimage(uint8(graycat));
subplot(2,2,2);
imhist(uint8(graycat));
subplot(2,2,3);
subimage(uint8(graycat1));
subplot(2,2,4);
imhist(uint8(graycat1));
代码2:
graycat1=0.7*graycat+1.2;
分析:
a=0.7时,图像对比度减小,输出灰度值范围减小
a=1.5时,图像对比度增大,输出灰度值范围增大
(2)取一幅灰度图像,对其进行直方图均衡化处理,再对其进行规定化处理,并对结果进行分析。
graycat=uint8(graycat);
eqcat=histeq(graycat);
imhist(graycat);
subimage(eqcat);
imhist(eqcat);
规定化代码:
hgram=50:
2:
250;
speciacat=histeq(graycat,hgram);
subplot(2,2,1);
subplot(2,2,2);
imhist(graycat);
subplot(2,2,3);
subimage(speciacat);
subplot(2,2,4);
imhist(speciacat);
图像均衡化将一已知灰度概率密度分布的图像经过某种变换,变成一幅具有均衡灰度概率密度分布的新图像,其扩展了象元取值的动态范围,从而达到增强图像整体对比度。
直方图规定化能自动增强整个图像的对比度,但具体效果不容易控制,处理结果总是得到全局的均衡化直方图。
思考题:
如果将一幅图像进行一次直方图均衡化处理后,再进行一次直方图均衡化处理,结果会发生变化吗?
观察两次均衡化的直方图是否一样。
答:
A=imread('
B=rgb2gray(A);
I=histeq(B);
%第一次均衡化
I1=histeq(I);
%第二次均衡化
subplot(121);
imshow(I1);
subplot(122);
imhist(I1)
从图可知2次结果相同,先直方图均衡了,就相当于所有的灰度级上的像素点数目相同,无论你再进行多少次直方图均衡,他始终都不再变化,因为第一次就已经均衡了。
(3)取一幅灰度图像,加入噪声后对其进行平滑滤波(均值滤波、中值滤波),并观察不同滤波方式下的效果。
noisecat=imnoise(graycat,'
salt&
pepper'
avecat=filter2(fspecial('
average'
3),noisecat)/255;
medcat=medfilt2(noisecat,[3,3]);
title('
原图'
subimage(noisecat);
加噪声图'
subimage(avecat);
均值平滑图'
subimage(medcat);
中值滤波图'
分析:
均值滤波效果与所使用领域半径大小有关,半径越大,像素点越多,信噪比提高越大,平衡效果越好,但是平滑图像的模糊程度越大。
中值滤波时一种非线性滤波,可以克服线性滤波所带来的图像细节模糊,对滤波脉冲干扰及颗粒噪声最有效。
(4)取一幅灰度图像,采用不同的算子对其进行边缘锐化,并分析结果。
sobelcat=filter2(fspecial('
sobel'
),graycat);
prewittcat=filter2(fspecial('
prewitt'
laplaciancat=filter2(fspecial('
laplacian'
subimage(sobelcat);
sobel猫'
subimage(prewittcat);
prewitt猫'
subimage(laplaciancat);
laplacian猫'
sobel算子:
对称的一阶差分,对中心加权具有一定的平滑作用
Prewitt算子:
一种一阶微分算子的边缘检测,利用像素点上下,左右邻点的灰度差,在边缘处达到极值检测边缘,去掉部分伪边缘,对噪声具有平滑作用
Laplacian算子:
二次微分算子,满足不同走向的图像边缘锐化要求,对噪声的增强作用较弱,一半用它进行边缘增强时,有必要将图像先进行平滑处理。
为了达到边缘锐化的反差增强效果,实际应用中将高频增强和直方图均衡化结合起来使用,这两个操作的次序能互换吗?
效果一样吗?
I=rgb2gray(I);
subplot(241),imshow(I);
原始图像'
I1=[0,-1,0;
-1,5,-1;
0,-1,0];
I3=imfilter(I,I1);
subplot(242),imshow(uint8(I3));
拉普拉斯算子锐化图像'
h=ones(size(I3));
[f1,f2]=freqspace(size(I3),'
meshgrid'
r=sqrt(f1.^2+f2.^2);
h(r<
0.3)=0;
Y=fft2(double(I3));
Y=fftshift(Y);