【matlab图像处理】灰度/点变换实践(1)

中国史之【宣王中兴】:
西周宣王统治时期出现的中兴局面。周宣王,周厉王之子,在周公和召公辅助下,修复公室、广进谏言、安顿百姓、修缮武器,衰落的周王室权威得到恢复,诸侯又重新朝见天子,四夷咸服,史称“宣王中兴”。
——来源:全历史APP

【路漫漫其修远兮,吾将上下而求索】

今天介绍图像的灰度变换实践,包括对比度调整和伽玛变换。本内容参考自《实用MATLAB图像和视频处理》第8章。

1、对比度调整

对比度调整,是最常用的灰度变换函数之一。这个函数常用S型曲线,也叫sigmoid曲线,如左下图。其中,小于阈值m的像素趋向变暗,而大于m的像素趋向变亮。
在这里插入图片描述
斜率表示对比度变化的剧烈程度。在最极端情况下,一个对比度函数退化成一个二值的阈值化函数。如右上图,小于m的像素变为黑色,而大于m的像素变为白色。

对比度调整函数中,一个最有用的变型是自动对比度调整。简单来说,就是把输入图像中最暗的像素映射为0,最亮的像素映射为255,其他数值线性重新分布。所以公式如下:

这里的L-1=255。在MATLAB的图像处理工具包中有个内置函数imadjust来进行对比度调整,我们实践一下。

%%本代码用于学习如何对图像进行对比度调整操作

I = imread('tiger.jpg');
J = imadjust(I, [.2 .3 0; .6 .7 1], []);

figure, 
subplot(1,2,1), imshow(I), title('原图');
subplot(1,2,2), imshow(J), title('对比度调整');

2、伽玛变换

伽玛变换函数可以使用如下公式:

这里,r是原始像素灰度,s是结果像素值,c是放缩常数,γ是一个正数。下图给出不同的γ所对应的曲线。

我们可以实践一下:

%%本代码用于学习如何对图像进行gamma调整操作

I = imread('tiger.jpg');
J_1 = imadjust(I, [], [], 0.5);
J_2 = imadjust(I, [], [], 2.2);

figure, 
subplot(1,3,1), imshow(I), title('原图');
subplot(1,3,2), imshow(J_1), title('γ=0.5');
subplot(1,3,3), imshow(J_2), title('γ=2.2');
从上图可以看出,伽玛γ<1时,图片变得更亮,而>1时,图像变得更暗。

以上是本期内容,建议自己动手来实践一下。如果需要图片和代码,可以关注公众号,回复关键字【matlab代码】即可获得。我会上传到云盘。

【声明】:学习笔记基于互联网上各种学习资源的个人整理。

以上是本期内容,下期介绍图像处理的灰度变换实践(2)。

我叫小保,一名计算机视觉爱好者、学习者、追随者,欢迎关注我【CV之道】一起学习。

猜你喜欢

转载自blog.csdn.net/ling_xiobai/article/details/124500833