matlab图像的灰度变换Word文件下载.doc
- 文档编号:467567
- 上传时间:2023-04-29
- 格式:DOC
- 页数:6
- 大小:361KB
matlab图像的灰度变换Word文件下载.doc
《matlab图像的灰度变换Word文件下载.doc》由会员分享,可在线阅读,更多相关《matlab图像的灰度变换Word文件下载.doc(6页珍藏版)》请在冰点文库上搜索。
但运算的过程中应当注意以下问题,由于我们读出的图像数据一般是uint8型,而在MATLAB的矩阵运算中要求所有的运算变量为double型(双精度型)。
因此读出的图像数据不能直接进行运算,必须将图像数据转换成双精度型数据。
2、直方图均衡化
直方图均衡化的目的是将原始图像的直方图变为均衡分布的形式,即将一已知灰度概率密度分布的图像,经过某种变换变成一幅具有均匀灰度概率密度分布的新图像,从而改善图像的灰度层次。
MATLAB图像处理工具箱中提供的histeq函数,可以实现直方图的均衡化。
三、实验内容及要求
1、用MATLAB在自建的文件夹中建立example2.m程序文件。
在这个文件的程序中,将girl2.bmp图像文件读出,显示它的图像及灰度直方图(可以发现其灰度值集中在一段区域)。
用imadjust函数将它的灰度值调整到[0,1]之间,并观察调整后的图像与原图像的差别,调整后的灰度直方图与原灰度直方图的区别;
改变灰度值调整范围,观察调整后的图像的变化及其与原图像的差别,调整后的灰度直方图的变化及其与原灰度直方图的区别;
进一步利用改变灰度值调整范围,实现图像的反转。
程序:
A=imread('
E:
\1\girl2.bmp'
'
bmp'
);
figure
(1),subplot(2,2,1);
imshow(A);
figure
(1),subplot(2,2,2);
imhist(A);
B=imadjust(A,[0.350.65],[]);
figure
(1),subplot(2,2,3);
imshow(B);
figure
(1),subplot(2,2,4);
imhist(B)
两次改变调整范围:
C=imadjust(A,[0.350.65],[00.5]);
figure
(2),subplot(2,2,1);
imshow(C);
figure
(2),subplot(2,2,2);
imhist(C);
D=imadjust(A,[0.350.65],[0.20.8]);
figure
(2),subplot(2,2,3);
imshow(D);
figure
(2),subplot(2,2,4);
imhist(D)
图像的反转:
E=imadjust(A,[0.350.65],[10]);
figure(3),subplot(1,2,1);
imshow(E);
figure(3),subplot(1,2,2);
imhist(E);
2、读出图像文件girl2.bmp,不调用imadjust函数,利用matlab语言直接编程实现图像的对比度调整和图像的反转。
对比度调整:
I=double(A);
J=I*1.5+40;
A1=uint8(J);
figure(4);
subplot(1,2,1),imshow(A);
subplot(1,2,2),imshow(A1);
反转:
[X,MAP]=imread('
figure(5);
imshow(X,1-MAP);
3、读取一幅灰度图像,用histeq函数将原始图像的灰度直方图均衡化,同时观察均衡化后的图像与前面图像的差别,均衡化后的灰度直方图与前面的灰度直方图的区别。
读取一幅索引图像,重复直方图均衡化处理,比较二者结果
灰度图像:
F=imread('
\1\rice.tif'
tif'
figure(6);
subplot(2,2,1),imshow(F);
subplot(2,2,2),imhist(F);
G=histeq(F);
subplot(2,2,3),imshow(G);
subplot(2,2,4),imhist(G);
索引图像:
H=imread('
\1\forest.tif'
figure(7);
subplot(2,2,1),imshow(H);
subplot(2,2,2),imhist(H);
I=histeq(H);
subplot(2,2,3),imshow(I);
subplot(2,2,4),imhist(I);
4、(选做内容)不调用histeq函数,利用matlab语言直接编程实现图像的直方图均衡化处理。
functionyu=myhisteq(x)
m=size(x)
n=m
(1)*m
(2)
ma=max(max(x))
mi=min(min(x))
a=ma-mi+1
p=zeros(1,a)
pa=p
fori=1:
m
(1)
forj=1:
m
(2)
fork=mi:
ma
ifx(i,j)==k
p(k-mi+1)=p(k-mi+1)+1
end
end
end
end
fori=mi:
forj=mi:
i
pa(i-mi+1)=pa(i-mi+1)+p(j-mi+1)/n
end
pa(i-mi+1)=ma*pa(i-mi+1)
forj=1:
m
(2)
fork=mi:
ifx(i,j)==k
y(i,j)=round(pa(k-mi+1))
end
end
end
yu=uint8(y)
[x,map]=imread('
girl2.bmp'
)
yu=myhisteq(x)
subplot(1,2,1),imshow(yu,map)
subplot(1,2,1),imhist(yu,map)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 图像 灰度 变换