matlab实现r曲线增强与对数函数增强

对数函数变化

代码:

f = imread('1.jpg');
G = mat2gray(log(1 + double(f)));
% matlab中数值一般采用double型(64位)存储和运算。mat2gray对图像灰度进行归一化处理

subplot(1, 2, 1);  
imshow(f);  
xlabel(' a). 原始图像');  
subplot(1, 2, 2);  
imshow(G, []);   % 自动调整数据的范围以便于显示 
xlabel(' b). 对数变换'); 

运行结果:

伽马曲线增强图像:

代码:

%扩展亮灰度级
clear;
img = imread('1.jpg');
f=mat2gray(img);
a=1;
gamma=0.6;
gamma1=0.3;
s=a*(f.^gamma);
s1=a*(f.^gamma1);
s2=log(1+f);
subplot(221),imshow(f,[0 1]);title('原始图像');
subplot(222),imshow(s,[0 1]);title('0.6');
subplot(223),imshow(s1,[0 1]);title('0.3');
subplot(224),imshow(s2,[0 1]);title('对数变换');

运行结果:

转化为灰度图像后灰度变换:

代码:

Image=(rgb2gray(imread('2.jpg')));  
imwrite(Image,'2.jpg');
Image=double(Image);
NewImage1=46*log(Image+1);     %对数函数非线性灰度级变换
NewImage2=185*exp(0.325*(Image-225)/30)+1;%指数函数非线性灰度级变换
a=0.5; c=1.1;
NewImage3=[(Image/255).^a]*255*c; %幂次函数非线性灰度级变换
imwrite(uint8(NewImage1),'G1.bmp');
imwrite(uint8(NewImage2),'G2.bmp');
imwrite(uint8(NewImage2),'G3.bmp');
imshow(Image,[]);title('灰度图像');
figure;imshow(NewImage1,[]);title('对数函数非线性灰度级变换');
figure;imshow(NewImage2,[]);title('指数函数非线性灰度级变换');
figure;imshow(NewImage3,[]);title('幂次函数非线性灰度级变换');

运行结果:

灰度图像:

对数函数灰度变换

指数函数灰度变换

幂次级函数图像灰度变换

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值