灰度变换是一个点对应一个点的图像处理方法。通过灰度变换函数就可以清楚的看出图像处理前后像素的灰度变化情况。那什么是灰度变换函数呢,从图像上来看,x轴方向代表原图像的像素点的灰度级(从0到L-1依次排列,也就是从最暗到最亮的全过程),y轴表示处理后的图像的灰度级排列。每一个x轴上的点都有一个与之对应的y轴的输出点对应,表明原来某一灰度级变化成处理后对应的灰度级。
imadjust和stretchlim函数
在MATLAB中使用的是imadjust函数,先说明一下函数的语法格式
g=imadjust(f,[low_in high_in],[low_out high_out],gamma);

这个函数的功能就是将原图像f的灰度级映射到g的新值当中。那么就是从第二个参数代表的区域,转换到第三个参数代表的区域中。原图像中低于low_in的灰度级,处理后都变成了low_out这一灰度级;高于high_in的灰度级,全部变成high_out这一灰度级。那么中间的灰度级是如何变化的呢,这就涉及到了第三个参数gamma,它的取值分为三种情况,一种小于1,一种为1,一种大于1 。从给出的图像就可以看出他的区别。gamma值为1时,属于线性映射,将原始图像中的灰度级一一对应到处理后的灰度级中,若函数斜率为1,则相当于这一部分的图像没有发生变换。如下图所示,选定某一输入灰度值后,不同灰度变换的结果也是不同的,gamma小于1时,获得的灰度级最大也就最亮,为1时其次,大于1时,灰度最小也就最暗。
例 使用MATLAB的imadjust函数进行灰度变换
clear;
clf;
clc;
f=imread('Fig0203(a).tif');%读取图像
subplot(2,3,1

最低0.47元/天 解锁文章
368

被折叠的 条评论
为什么被折叠?



