数字图像处理实验Word文档格式.docx
《数字图像处理实验Word文档格式.docx》由会员分享,可在线阅读,更多相关《数字图像处理实验Word文档格式.docx(20页珍藏版)》请在冰豆网上搜索。
彩色图像转为索引图像'
(4)索引图像转为彩色图像
rgb1=ind2rgb(ind0,map);
imshow(rgb1);
索引图像转为彩色图像'
(5)彩色图像转换为二值图像
bw=im2bw(I,0.5);
subplot(122)
imshow(bw);
彩色图像转二值图像'
(6)灰色图像转换为索引图像
[ind1,map]=gray2ind(gray,128);
imshow(gray);
imshow(ind1);
灰度图像转索引图像'
(7)灰度图像转为二值图像
bw1=im2bw(gray,0.7)
imshow(bw1);
灰度图像转二值图像'
(8)索引图像转二值图像
bw2=im2bw(ind0,map,0.6)
imshow(bw2);
索引图像转二值图像'
2.应用matlab工具箱演示一幅图的傅里叶变换、离散余弦变换,观察其频谱图,然后将它们进行逆变换,观察逆变换后的图像。
(1)快速傅里叶变换
hgs=vision.GeometricScaler('
SizeMethod'
'
Numberofoutputrowsandcolumns'
Size'
[900,900]);
x=imread('
123.jpg'
);
x1=step(hgs,x);
x2=rgb2gray(x1);
y=fft2(x2);
y1=fftshift(double(y));
imshow(log(abs(y1)),[]);
colormap(jet(64));
figure
(2);
imshow(abs(y2),[]);
原图像
快速傅里叶变换的的频图傅里叶反变换的图像
(2)离散余弦变换
tu=imread('
1234.bmp'
I=rgb2gray(tu);
imshow(I),title('
原图像'
J=dct2(I);
imshow(log(abs(J)),[]),colormap(jet(64)),colorbar,title('
离散余弦变换的结果'
J(abs(J)<
10)=0;
K=idct2(J);
subplot(1,3,3),imshow(K,[0,255]),title('
离散余弦反变换的图像'
);
离散余弦变换的结果离散余弦反变换的图像
3.应用matlab语言编程来实现一幅图像的增强
(1)取一幅灰度图像,对其进行线性点运算,即,取(α,β)分别为(1.5,1.2)、(0.7,1.2),对原图像进行线性处理,观察处理后的结果,并分析直方图的变换。
A=imread('
shiyan4.png'
I=rgb2gray(A);
subplot(221);
二维灰度图像'
[m,n]=size(I);
f=double(I);
f1=1.5.*f+1.2;
G=uint8(f1);
subplot(222),imshow(G),title('
线性增强1'
f2=0.7.*f+1.2;
G1=uint8(f2);
subplot(223),imshow(G1),title('
线性增强2'
figure
(2)
subplot(221),imhist(I),title('
原图像的直方图'
subplot(223),imhist(G1),title('
线性增强1的直方图'
subplot(222),imhist(G),title('
线性增强2的直方图'
(2)取一幅灰度图像,对其进行直方图均衡化处理,再对其进行规定化处理,并对结果进行比较。
rgb=imread('
gray=rgb2gray(rgb);
%%图形规定化
figure(3);
hgram=100:
2:
250;
special=histeq(gray,hgram);
eqgray=histeq(gray);
subplot(321);
subplot(322);
imhist(gray);
subplot(323);
imshow(eqgray);
均衡化'
subplot(324);
imhist(eqgray);
均衡化的直方图'
subplot(325);
imshow(special);
规定化'
subplot(326);
imhist(special);
规定化的直方图'
总结:
直方图均衡化的特点:
(1)直方图均衡化是在整个灰度范围内近似分布,能增强整个图像的对比度。
(2)均衡化后灰度级减少,可能带来图像细节损失。
直方图规定化的特点:
原始图像灰度直方图变成规定形状的直方图而对图像作修正的增强方法。
思考题:
如果将一幅图像进行一次直方图均衡化处理后,再进行一次直方图均衡化处理,结果会发生变化吗?
观察两次均衡化的直方图是否一样。
gray=rgb2gray(rgb);
%%图像均衡化
eqgray2=histeq(eqgray);
imshow(eqgray2);
两次均衡化'
imhist(eqgray2);
两次均衡化的直方图'
由上图可以看出一幅图像两次均衡化的结果并相同。
(3)取一幅灰度图像,加入噪声后进行平滑滤波(均值滤波、中值滤波),并观察不同滤波方式下的效果。
f=imread('
c=rgb2gray(f);
subplot(221),imshow(c),title('
原始图像'
g=imnoise(c,'
gaussian'
0.1,0.002);
subplot(222),imshow(g),title('
加入白噪声的图像'
Y2=avefit(g,3);
subplot(223),imshow(Y2),title('
自编函数进行均值滤波'
Y3=midfit(g,3);
subplot(224),imshow(Y3),title('
自编函数进行中值滤波'
function[d]=avefit(x,n)
a(1:
n,1:
n)=1;
p=size(x);
x1=double(x);
x2=x1;
fori=1:
p
(1)-n+1
forj=1:
p
(2)-n+1
c=x1(i:
i+n-1,j:
j+n-1).*a;
s=sum(sum(c));
x2(i+(n-1)/2,j+(n-1)/2)=s/(n*n);
end
end
d=uint8(x2);
functiond=midfit(x,n)
p=size(x);
x1=double(x);
x2=x1;
fori=1:
i+(n-1),j:
j+(n-1));
e=c(1,:
foru=2:
n
e=[e,c(u,:
)];
mm=median(e);
x2(i+(n-1)/2,j+(n-1)/2)=mm;
End
均值滤波与中值滤波的比较:
均值滤波:
对邻域内的所有像元求平均值来消除噪声。
中值滤波:
与周围像元灰度值的差比较大的像元改取近似于周围像元的灰度值。
中值滤波对克服线性滤波器所带来的细节迷糊,对颗粒噪声效果最有效。
(4)取一幅灰度图像,采用不同的算子对其进行边缘锐化,并分析结果。
a=imread('
a=rgb2gray(a);
subplot(221),imshow(a);
bw1=edge(a,'
sobel'
bw2=edge(a,'
roberts'
bw3=edge(a,'
log'
subplot(222),imshow(bw1),title('
用rorberts算子'
subplot(223),imshow(bw2),title('
用sobel算子'
subplot(224),imshow(bw3),title('
用拉普拉斯算子'
为了达到边缘锐化的反差增强效果,实际应用中将高频增强和直方图均衡化结合起来使用,这两个操作的次序能互换?
效果一样吗?
不能互换,直方图均衡化是把原来的图像的灰度直方图从某个区间变成在全部灰度范围的均匀分布;
高频增强是对整个图像进行高通滤波,次序互换对不同频率分量产生影响,从而效果不同。
4.对一幅灰度图像进行模糊处理,然后进行逆滤波,维纳滤波与约束最小二乘方滤波复原实验。
f=fspecial('
motion'
30,45);
grayblur=imfilter(gray,f,'
circular'
conv'
subplot(2,2,1);
subplot(2,2,2);
imshow(grayblur);
运动模糊处理'
blur1=deconvwnr(grayblur,f);
subplot(2,2,3);
imshow(blur1);
逆滤波'
fr2=deconvreg(grayblu