matlab实现图像灰度映射三种方法

1. 图像求反

img = imread('your_image.jpg'); % 替换为你的图像文件名
if size(img, 3) == 3
    img = rgb2gray(img); % 如果是彩色图像,则转换为灰度图像
end
 
% 图像求反
img_neg = 255 - img;

2. 动态范围压缩

c = 1; % 尺度常数,可根据需要调整
img_log = c * log(1 + double(img)); % 对数变换
img_log = uint8(255 * mat2gray(img_log)); % 将结果映射到0-255范围并转换为uint8类型

3. 对比度增强

in_min = double(min(img(:)));
in_max = double(max(img(:)));
out_min = 0;
out_max = 255;
scale_factor = (out_max - out_min) / (in_max - in_min);
offset = out_min - in_min * scale_factor;
img_contrast = uint8(img * scale_factor + offset); 

4.显示结果

figure;
subplot(2,2,1);
imshow(img);
title('原始图像');
 
subplot(2,2,2);
imshow(img_neg);
title('图像求反');
 
subplot(2,2,3);
imshow(img_log);
title('动态范围压缩(对数变换)');
 
subplot(2,2,4);
imshow(img_contrast);
title('对比度增强(线性拉伸)');

实验最终结果如图所示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值