MATLAB 灰度线性变换

本文介绍了利用MATLAB的分段线性变换函数imgrayscaling来增强图像对比度,特别是通过灰度拉伸调整图像的灰度直方图分布。该函数允许用户自定义参数,实现对特定灰度区间的拉伸或压缩,以改善图像质量。同时,文章提供了parse-inputs辅助函数解析输入参数,并展示了imgrayscaling函数的实现细节。
摘要由CSDN通过智能技术生成

利用分段线性变换函数来增强图像对比度的方法实际是增强原图各个部分的反差,即增强输入图像中感兴趣的灰度区域,相对抑制那些不感兴趣的灰度区域。分段线性函数的主要优势在于它的形式可以任意合成,而其缺点是需要更多的用户输入。

分段的灰度拉伸可以更加灵活地控制输出灰度直方图的分布,可以有选择的拉伸某段灰度区间以改善输出图像。如果一幅图像灰度集中在较暗的区域而导致图像偏暗,我们可以用灰度拉伸功能来扩展(斜率大于1)物体灰度区间以改善图像;同样,如果图像灰度集中在较亮的区域而导致图像偏亮,也可以用灰度拉伸功能来压缩(斜率小于1)物体灰度区间以改善图像质量。

灰度拉伸是通过控制输出图像中灰度级的展开程度来达到控制对比度的效果的。

用imgrayscaling 函数来实现灰度线性变换。为了使用可变个数的参数,imgrayscaling 函数中使用了细胞数组,将函数的输入参数整体看做一个细胞数组,为此需要编写一个parse-inputs函数来解析该细胞数组的内容,该函数返回值是imgrayscaling 中所有可能由用户初始化的参数值。

parse-inputs函数的实现

function [A , map, x1,x2,y1,y2]=parse-inputs(varargin)

map= [];

iptcheckinput(varargin{1}...

                  {'uint8', 'uint16' ,'int16' ,'double'},...

                 {'real' ,'nonsparse' }, mfilename ,'I, x or RGB ',1 );

swich nargin

 case 3 <

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值