图像处理学习笔记02:灰度变换(一)

灰度变换是一个点对应一个点的图像处理方法。通过灰度变换函数就可以清楚的看出图像处理前后像素的灰度变化情况。那什么是灰度变换函数呢,从图像上来看,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); %多幅绘图
imshow(f);%显示图像
g1=imadjust(f,[0 1],[1 0]);%图像反转,黑白颠倒
subplot(2,3,2);
imshow(g1);
% g=imcomplement(f);%图像反转,与上面的功能一致
% subplot(2,3,3);
% imshow(g);
g2=imadjust(f,[0.5 0.75],[0 1]);%将图像灰度级为0.50.75的部分,扩散到整个灰度区,用于强调图像中感兴趣的地方
subplot(2,3,3);
imshow(g2);
g3=imadjust(f,[],[],2);%gamma的值大于1,图像变暗
subplot(2,3,4);
imshow(g3);
g4=imadjust(f,stretchlim(f),[]);
subplot(2,3,5);
imshow(g4);
g5=imadjust(f,stretchlim(f),[1,0]);
subplot(2,3,6);
imshow(g5);

在这里插入图片描述
stretchlim函数获取高和低受限的两个元素向量,返回得到双向量形式。语法:Low_High=stretchlim(f,tol);tol指定图像高低像素的饱和点,省略默认为百分之一,即[0.01,0.99]。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值