数字图像处理matlab基本命令

来源:互联网 发布:淘宝五金店铺名字大全 编辑:程序博客网 时间:2024/05/01 03:07

以下只是函数的基本使用例子,详情使用help或者doc查看


基本的输入图像

imread('/path/filename');    // f = imread(/path/name.imageformat ); 二维矩阵f保存

图像输出

imwrite('/path/filename' );                        //

图像显示

imshow(f) ;// f 为图像时输入的矩阵

图像直方图显示

g = imhist(f)   //将图像灰度值的像素数量用直方图形式显示,如下图




灰度值变换函数

1.imadjust

  g = imadjust(f , [low_in high_in], [low_out high_out],gamma) ;//


g是输出的图像矩阵,f是输入的图像矩阵。

该函数的作用是将f中的[low_in high_in]的灰度值映射到输出g中的[low_out high_out]。灰度值是经过归一化处理的,范围[0 1]

参数gamma = 1时为线性映射,

gamma < 1时,映射被加权至较高(较亮)的输出值



example:

g = imadjust(f,[0 0.5] , [0 1]) //将原图像素从[0 0.5]的灰度值映射到[0 1]


原图                                                                                      原图的直方图

                       



经过处理后



可以看出处理后的图像比原图显得更亮,只是对比度拉伸的结果。

从直方图上观察,原图的灰度值主要集中在[50  100]的区间,经过处理后,几乎每个灰度值都由像素。



2.stretchlim

Low_High = stretchlim(f,tol);


f是输入图像矩阵。

tol若是两元素的向量[low_frac high_frac], 指定了图像的低和高像素值饱和度的百分比。

若tol是一个标量,则low_frac=tol,high_frac = 1 - low_frac。

若忽略tol这个参数,默认为[0.01 0.99],饱和度为2%

tol=0,Low_High = [min( f( : ) ),max( f( : ) )]   即图像的最大灰度值和最小灰度值。


饱和度一般说的是彩色图片,对于灰度图像来说,不太清楚饱和度的概念是什么,不清楚它的计算方法。

从使用stretchlim的实验结果来看,饱和度的改变,会影响对比度。


参考资料《数字图像处理的matlab实现(第二版)》







0 0