matlab图像的灰度变换.doc_第1页
matlab图像的灰度变换.doc_第2页
matlab图像的灰度变换.doc_第3页
matlab图像的灰度变换.doc_第4页
matlab图像的灰度变换.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验二 图像的灰度变换一、实验目的1、 理解数字图像处理中点运算的基本作用;2、 掌握对比度调整与灰度直方图均衡化的方法。二、实验原理1、对比度调整如果原图像f(x, y)的灰度范围是m, M,我们希望对图像的灰度范围进行线性调整,调整后的图像g(x, y)的灰度范围是n, N,那么下述变换:就可以实现这一要求。MATLAB图像处理工具箱中提供的imadjust函数,可以实现上述的线性变换对比度调整。imadjust函数的语法格式为:J = imadjust(I,low_in high_in, low_out high_out)J = imadjust(I, low_in high_in, low_out high_out)返回原图像I经过直方图调整后的新图像J,low_in high_in为原图像中要变换的灰度范围,low_out high_out指定了变换后的灰度范围,灰度范围可以用 空矩阵表示默认范围,默认值为0, 1。不使用imadjust函数,利用matlab语言直接编程也很容易实现灰度图像的对比度调整。但运算的过程中应当注意以下问题,由于我们读出的图像数据一般是uint8型,而在MATLAB的矩阵运算中要求所有的运算变量为double型(双精度型)。因此读出的图像数据不能直接进行运算,必须将图像数据转换成双精度型数据。2、直方图均衡化直方图均衡化的目的是将原始图像的直方图变为均衡分布的形式,即将一已知灰度概率密度分布的图像,经过某种变换变成一幅具有均匀灰度概率密度分布的新图像,从而改善图像的灰度层次。MATLAB图像处理工具箱中提供的histeq函数,可以实现直方图的均衡化。三、实验内容及要求1、 用MATLAB在自建的文件夹中建立example2.m程序文件。在这个文件的程序中,将girl2.bmp图像文件读出,显示它的图像及灰度直方图(可以发现其灰度值集中在一段区域)。用imadjust函数将它的灰度值调整到0,1之间,并观察调整后的图像与原图像的差别,调整后的灰度直方图与原灰度直方图的区别;改变灰度值调整范围,观察调整后的图像的变化及其与原图像的差别,调整后的灰度直方图的变化及其与原灰度直方图的区别;进一步利用改变灰度值调整范围,实现图像的反转。程序:A=imread(E:1girl2.bmp,bmp);figure(1),subplot(2,2,1);imshow(A);figure(1),subplot(2,2,2);imhist(A);B=imadjust(A,0.35 0.65,);figure(1),subplot(2,2,3);imshow(B);figure(1),subplot(2,2,4);imhist(B)两次改变调整范围:A=imread(E:1girl2.bmp,bmp);C=imadjust(A,0.35 0.65,0 0.5);figure(2),subplot(2,2,1);imshow(C);figure(2),subplot(2,2,2);imhist(C);D=imadjust(A,0.35 0.65,0.2 0.8);figure(2),subplot(2,2,3);imshow(D);figure(2),subplot(2,2,4);imhist(D)图像的反转:A=imread(E:1girl2.bmp,bmp);E=imadjust(A,0.35 0.65,1 0);figure(3),subplot(1,2,1);imshow(E);figure(3),subplot(1,2,2);imhist(E);2、读出图像文件girl2.bmp,不调用imadjust函数,利用matlab语言直接编程实现图像的对比度调整和图像的反转。 对比度调整:A=imread(E:1girl2.bmp,bmp);I=double(A);J=I*1.5+40;A1=uint8(J);figure(4);subplot(1,2,1),imshow(A);figure(4);subplot(1,2,2),imshow(A1); 反转: X,MAP=imread(E:1girl2.bmp,bmp);figure(5);imshow(X,1-MAP);3、 读取一幅灰度图像,用histeq函数将原始图像的灰度直方图均衡化,同时观察均衡化后的图像与前面图像的差别,均衡化后的灰度直方图与前面的灰度直方图的区别。读取一幅索引图像,重复直方图均衡化处理,比较二者结果灰度图像: F=imread(E:1rice.tif,tif);figure(6);subplot(2,2,1),imshow(F);figure(6);subplot(2,2,2),imhist(F);G=histeq(F);figure(6);subplot(2,2,3),imshow(G);figure(6);subplot(2,2,4),imhist(G); 索引图像:H=imread(E:1forest.tif,tif);figure(7);subplot(2,2,1),imshow(H);figure(7);subplot(2,2,2),imhist(H);I=histeq(H);figure(7);subplot(2,2,3),imshow(I);figure(7);subplot(2,2,4),imhist(I);4、(选做内容)不调用histeq函数,利用matlab语言直接编程实现图像的直方图均衡化处理。function yu=myhisteq(x)m=size(x)n=m(1)*m(2) ma=max(max(x)mi=min(min(x)a=ma-mi+1p=zeros(1,a)pa=pfor i=1:m(1) for j=1:m(2) for k=mi:ma if x(i,j)=k p(k-mi+1)=p(k-mi+1)+1 end end end endfor i=mi:ma for j=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) end for i=1:m(1) for j=1:m(2) for k=mi:ma if x(i,j)=k y(i,j)=round(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论