matlab如何实现图像灰度拉伸

 时间:2024-11-13 10:31:34

灰度拉伸是灰度分段线性变换的一种,能够增强图像对比度,实际上增强原图各部分的反差,增强输入中感兴趣的灰度区域,抑制不感兴趣的灰度区域。

介绍

1、函数表达式如图,重要的参数是[x1,x2],[y1,y2].x1和x2是需要转换的灰度范围,y1和y2参数决定线性变换的斜率.可以看出函数表达式就是分段函数的表达式.

matlab如何实现图像灰度拉伸

2、如图是x1,y1等值取一般值时,输入图像的灰度到输入图像灰度分段线性变换的映射.

matlab如何实现图像灰度拉伸

3、当斜率大于1,拉伸区域会变亮,斜率小于1会变暗.

分析函数parse_inputs

1、对图像变换前,需要定义一个分析输入参数个数和有效性的函数parse_inputs.输出:图像A、索引图调色板map、参数组[x1,x2][y1,y2]

matlab如何实现图像灰度拉伸

2、首先建立一个空map,以免后面调用isempty(map)出错.使用IPTCHECKNARGIN检查输入参数个数是否符合要求,使用IPTCHECKINPUT检查给定矩阵元素是否属于给定的类型列表.

matlab如何实现图像灰度拉伸

3、然后根据参数个数不同,分别确定相应的返回值.

matlab如何实现图像灰度拉伸

4、检测输入参数的有效性,检查RGB数组.

matlab如何实现图像灰度拉伸

5、检查调色板map.

matlab如何实现图像灰度拉伸

6、最后将int16矩阵化为uint16类型.

matlab如何实现图像灰度拉伸

函数imgrayscaling

1、该函数进行灰度拉伸,若输入图像不是灰度图像,会自动将图像转化为灰度形式.

matlab如何实现图像灰度拉伸

2、计算输入图像A的数据类型对应的取值范围.

matlab如何实现图像灰度拉伸

3、对非灰度图像进行转换.

matlab如何实现图像灰度拉伸

4、读取原图大小并初始化输出图像.

matlab如何实现图像灰度拉伸

5、使用嵌套循环和选择结构进行分段线性变换.

matlab如何实现图像灰度拉伸

6、将输出图像的格式变为与输入图像相同.

matlab如何实现图像灰度拉伸

7、输出,如果没有提供参数接受返回值.

matlab如何实现图像灰度拉伸

示例

1、以自带的coins.png为例,原图如图.

matlab如何实现图像灰度拉伸

2、[x1x2][y1y2]为[0.30.7][0.150.85]灰度拉伸后的图像如图.

matlab如何实现图像灰度拉伸

matlab如何实现图像灰度拉伸

3、[x1x2][y1y2]为[0.150.85][0.30.7]灰度拉伸后的图像如图.

matlab如何实现图像灰度拉伸

matlab如何实现图像灰度拉伸

MATLAB图像增强处理:灰度变换直方图均衡匹配 matlab命令行窗口怎么打开 如何在Matlab/Simulink中封装子系统/模块 matlab gui怎么绘图 怎么用matlab做傅里叶变换
热门搜索
分水器图片 故宫博物院图片 茶具图片 怎么修改图片大小kb 环太平洋漫画