数字图像处理第二章——灰度变换函数

数字图像处理—灰度变换与空间滤波

图像的处理有两种思路,一种是对图像本身的直接处理,即空间域处理;另一种是在频率域进行处理。在空间域的处理相对简单,因此本文首先介绍的是空间域处理法。空域中有两种重要处理方法:灰度变换(或亮度变换)和空间滤波(或邻域处理、空间卷积)。

(一)背景知识

空间域处理表达式: 

g(x,y)=T[f(x,y)]

其中,f(x,y)为输入图像,g(x,y)为处理后的图像,T为对图像的f的算子,作用于点(x,y)的领域。

(二)灰度变换函数

由于输出图像仅仅取决于点的灰度值,而不是取决于点的领域,因此灰度变换函数通常如公式所示: 

s=T(r)

其中,r表示图像f中的灰度,s表示图像g中的灰度。两者在图像中处于相同的坐标(x,y)处。
2.1 imadjust函数

imadjust函数是针对灰度图像进行灰度变换的基本图像处理工具箱函数。
语法格式:


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

此函数将f的灰度值映射到g中的新值,也就是将low_in至hige_in之间的值映射到low_out至high_out之间的值。low_in以下与high_in以上的值被截去。也就是将low_in以下的值映射到low_out,high_in以上的值映射到high_out。

参数gamma指明了由f映射生成图像g时的曲线。如果gamma小于1,映射被加权至较的输出值。如果gamma大于1,映射被加权到较的输出值。如果省略了函数的参量,则gamma默认为1(线性映射)。

代码案例如下:

imread('D:\数字图像处理\blue.jpg');          %读取图片文件中的数据
f=imread('D:\数字图像处理\blue.jpg');    
g1 = imadjust(f, [0 1], [1 0]);           %对像素值进行反转,负片效果
imshow(g1);                      %显示图像g1
g2 = imadjust(f, [0.5 0.75], [0 1]);         %将[0.5,0.75]之间的灰度扩展到[0,1]整个范围,图像颜色变鲜艳
figure;                         %创建一个用来显示图形输出的一个窗口对象
g3= imadjust(f,  [0 1],[0.5 0.75]);        %将[0.5,0.75]之间的灰度压缩到[0,1]整个范围,图像颜色变暗淡
figure;                       %创建一个用来显示图形输出的一个窗口对象
imshow(g3);            %显示图像g3
g4 = imadjust(f, [], [],2);         %非线性变化处理
figure;                %创建一个用来显示图形输出的一个窗口对象
imshow(g4);          %显示图像g4
 g5= imadjust(f, [], [],0.6);         %非线性变化处理
figure;        %创建一个用来显示图形输出的一个窗口对象
imshow(g5);          %显示图像g5

图片分别为:f g1 g2
  • 13
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值