matlab图像的灰度变换Word文件下载.doc

上传人:wj 文档编号:467567 上传时间:2023-04-29 格式:DOC 页数:6 大小:361KB
下载 相关 举报
matlab图像的灰度变换Word文件下载.doc_第1页
第1页 / 共6页
matlab图像的灰度变换Word文件下载.doc_第2页
第2页 / 共6页
matlab图像的灰度变换Word文件下载.doc_第3页
第3页 / 共6页
matlab图像的灰度变换Word文件下载.doc_第4页
第4页 / 共6页
matlab图像的灰度变换Word文件下载.doc_第5页
第5页 / 共6页
matlab图像的灰度变换Word文件下载.doc_第6页
第6页 / 共6页
亲,该文档总共6页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

matlab图像的灰度变换Word文件下载.doc

《matlab图像的灰度变换Word文件下载.doc》由会员分享,可在线阅读,更多相关《matlab图像的灰度变换Word文件下载.doc(6页珍藏版)》请在冰点文库上搜索。

matlab图像的灰度变换Word文件下载.doc

但运算的过程中应当注意以下问题,由于我们读出的图像数据一般是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)

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2