预览加载中,请您耐心等待几秒...
1/5
2/5
3/5
4/5
5/5

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

实验二图像灰度变换实验 实验目的 熟悉亮度变换函数的使用 熟悉灰度图像的直方图的表示; 掌握图像增强的基本方法:灰度变换、直方图均衡; 实验内容 灰度线性变换、灰度直方图、直方图均衡处理; 灰度变换是图像增强的一种重要手段,使图像对比度扩展,图像更加清晰,特征更加明显。灰度级的直方图给出了一幅图像概貌的描述,通过修改灰度直方图来得到图像增强。 实验原理 函数imadjust 函数imadjust是对灰度图像进行亮度变换的基本命令,语法为: g=imadjust(f,[low_inhigh_in],[low_outhigh_out],gamma) 将图像f中的亮度值(灰度值)映射到新图像g中,即将low_in至high_in之间的值映射到low_out至high_out之间的值。low_in以下的灰度值映射为low_out,high_in以上的灰度值映射为high_out,函数imadjust的矩阵[]内参数均指定在0和1之间,[low_inhigh_in]和[low_outhigh_out]使用空矩阵[]会得到默认值[01]。若high_out小于low_out,则输出图像会反转。 参数gamma指定了曲线(变换函数)的形状,若gamma小于1,则映射被加权至更高(更亮)的输出值;若gamma大于1,则映射被加权至更低(更暗)的输出值。若省略了函数的参量gamma,则gamma默认为1——即线性映射。 >>f=imread(‘filename’) >>imshow(f) >>g1=imadjust(f,[01],[10]);%图像反转 >>figure,imshow(g1)%figure命令表示同时显示多个窗口 >>g2=imadjust(f,[0.50.75],[01]); %将0.5至0.75之间的灰度级扩展到范围0和1之间 >>figure,imshow(g2) >>g3=imadjust(f,[],[],2)%使用gamma值 >>figure,imshow(g3) 直方图处理与函数绘图 图像的直方图定义为离散函数: h(rk)=nk 绘制图像的直方图,函数imhist,语法为: h=imhist(f,b) f为输入图像,h为直方图h(rk),b是用于形成直方图的灰度级个数,若b省略,则默认值为256。 函数numel(f)可给出图像f的象素个数,有了它可归一化直方图: p=imhist(f,b)/numel(f) >>imhist(f)%MTALAB默认显示的图像f的直方图 MATLAB中其它一些有代表性的绘制函数选项: 用条形图绘制直方图 函数bar(horz,v,width),其中,v是一个行(列)向量,它包含将被绘制的点;horz是一个与v有相同维数的向量,它包含水平标度值的增量;width是一个在0到1之间的数,表示竖条宽度,width值为1时,竖条较明显;当width的值为0时,竖条是简单的垂直线;width的默认值是0.8。在绘制条形图时,我们通常会将水平轴等分为几段,以便降低水平轴的分辨率。下面的语句将生成一副条形图,其水平轴以10个灰度级为一组: >>h=imhist(f) >>h1=h(1:10:256) >>horz=1:10:256 >>bar(horz,h1) >>axis([0255015000]) %axis函数设置了水平轴和垂直轴的最大和最小值,语法为: %axis([horzminhorzmaxvertminvertmax]) >>set(gca,‘xtick’,0:50:255) >>set(gca,‘ytick’,0:2000:15000) %参数gca表示“获得当前轴”(即最终显示的图形的轴),参数xtick和%ytick按所示的间隔设置水平轴和的垂直轴的刻度。 %这两个语句中,坐标轴的取值范围和刻度线都是人工设定的。使用函数%xlim(‘auto’)和ylim(‘auto’)可以自动设定坐标轴的取值范围和刻度线。 用杆状图绘制直方图 函数stem(horz,v,‘color_linestyle_marker’,‘fill’),参量color_linestyle_marker来自下表的三个值:颜色_线形_标记 例如,stem(v,‘r--s’)生成一副杆状图,其线条与标记点都为红色,线条为虚线,标记点为方形。若使用fill,且标记点为圆形、方形、菱形,则标记点的颜色会是color指定的颜色。 默认颜色是black黑色,默认线条为solid实线,默认标记点的形状是circle圆形。 >>h=imhist(f) >>h1=h(1:10:256) >>horz=1:10:256 >>stem(horz,h1,‘fill’) >>axis([0255015000]) >>se