四、数字图像处理之adapthisteq用法(自适应直方图均衡)

说明:
这个函数执行所谓对比度受限的自适应直方图均衡(CLAHE),此处的方法与直方图均衡化、规定化不同,这个方法是由用直方图规定化方法处理图像的小区域(称为小片)组成。然后用双线性内插将相邻小片组合起来以消除人工引入的边界效应,特别是可以限制均匀亮度区域的对比度,以免放大噪声。adapthisteq函数语法如下:

g=adapthisteq(f,param1,val1,param2,val2,...)  %f是输入图像,g是输出图像,param/val 是表中所列的内容
参数
‘NumTiles’一个有正整数组成的两元素向量[r, c],由向量的行和列指定小片数。r和c都必须至少是2,小片总数等于r*c。默认值是[ 8 8]
‘ClipLimit’范围是[0 1]内的标量,用于指定对比度增强的限制。较高的值产生较强的对比度。默认值是0.01
‘NBins’针对建立对比度增强变黄所用的直方图容器数目指定的正整数标量。较高的值会在较慢的处理速度下导致较大的动态范围。默认值是256
‘Range’规定输出图像数据范围的字符串: ‘original’——范围被限制到原始图像的范围,[min(f(: )) max(f(: ))]。‘full’——使用输出图像类的整个范围。例如,对于uint8类的数据,范围是[0 255]。这是默认值
‘Distribution’字符串,用于指定图像小片所需的直方图形状: ‘uniform’——平坦的直方图(默认值),‘rayleigh’——钟形直方图,‘exponential’——曲线直方图
‘Alpha’适用于瑞利和指数分布的非负标量。默认值为0.4

示例:(冈萨雷斯书上的代码)

f=imread('D:\My Documents\桌面\house.jpg');
f=rgb2gray(f);
g1 = adapthisteq(f);
g2 = adapthisteq(f, 'NumTiles', [25 25]);
g3 = adapthisteq(f, 'NumTiles', [25 25], 'ClipLimit', 0.05);
subplot(221),imshow(f),title('原图像');
subplot(222),imshow(g1),title('默认值图像');
subplot(223),imshow(g2),title('设置参数NumTiles为[25 25]的图像');
subplot(224),imshow(g3),title('使用小片数量,且ClipLimit=0.05的图像');

运行结果效果图如下:(图1)
图1

经过修改某些参数,获得如下的效果:

代码如下:

f=imread('D:\My Documents\桌面\house.jpg');
f=rgb2gray(f);
g1 = adapthisteq(f);
g2 = adapthisteq(f, 'NumTiles', [25 25], 'ClipLimit', 0.08);
g3 = adapthisteq(f, 'NumTiles', [25 25], 'ClipLimit', 0.08, 'NBins',255);
subplot(221),imshow(f),title('原图像');
subplot(222),imshow(g1),title('默认值图像');
subplot(223),imshow(g2),title('设置参数NumTiles为[25 25]的图像');
subplot(224),imshow(g3),title('使用小片数量,且ClipLimit=0.08的图像');

运行后得到的结果如下:(图2)
在这里插入图片描述
实验结论:
从上图中所示的结果相比较,设置参数会增加细节。比如说,设置’ClipLimit’参数,值越高对比度则越高。就图1和图2左下方的两幅图相比较,同样的NumTiles’, [25 25],但’ClipLimit’不同,图1的’ClipLimit’为0.01(默认值),图2的’ClipLimit’为0.08(自己设置的),得到的图像图2的图像细节比图1的多很多。图1与图2中右下方的两幅图对比,只是添加了一个参数’NBins’,255,得到的结果也不一样。由于图像中对比度增大,图像中出现了棋盘效应。

  • 16
    点赞
  • 124
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值