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

中国史之【褒姒得宠】:
褒姒(baosi),西周君主周幽王第二任王后,太子伯服生母,幽王甚为宠爱,有“烽火戏诸侯”之说。前771年,申侯联合犬戎攻打周幽王,周幽王被杀于骊山之下,褒姒被犬戎掳走,从此下落不明,西周灭亡。
——来源:全历史APP

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

今天介绍图像的灰度变换实践,包括对数变换和分段线性变换。本内容参考自《实用MATLAB图像和视频处理》第8章。

1、对数变换

对数变换和反对数变换都是非线性变换,分别用于压缩或扩展一幅图像中像素值的动态范围。对数变换的数学描述如下:

其中,r是原始像素灰度,s是结果像素值,c是一个常数,控制范围。使用(1+r)是为了确保输入像素值大于1,log输出为正数。

书本中,举了一个对数的例子。使用对数函数来改善和显示傅里叶变换的结果。如下,左图是大米图像的傅里叶频谱(仅振幅),其矩阵范围是【0, 2.8591x10的四次方】,当将他显示在一个线性放缩的8比特系统上,仅看到中心的亮点而很难看到其他东西。

但使用对数变换将其动态范围压缩到【0,10.26】,再使用自动对比度变换将其压缩范围扩展到【0, 255】,效果如右上图所示。我们可以明显看到中心的垂直细线,共心圆等细节。这就是图像增强的意义所在。

我们用matlab来实践一下,代码如下:

%%本代码用于学习如何对图像进行对数变换操作

% 按照公式生成对数函数
x = 0:255;
c = 255 / log(256);
y = c * log(x+1);
figure, subplot(2,2,1), plot(y), title('对数变换函数'), axis tight, axis square
%I = imread('tiger.jpg');
I = imread('radio.tif');
I_log = uint8(y(I+1)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JackkoLing

感谢你的支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值