[数字图像处理](三)对数变换
图像处理(三)
对数变换
可以拉伸范围较窄的低灰度值,同时压缩范围较宽的高灰度值。可以用来扩展图像中的暗像素值,同时压缩亮像素值。
简而言之是对图像中低灰度细节进行增强
在灰度直方图中的显示就为,靠近0的数值变少,靠近1的数值变多
Matlab
clc;
close all;
clear all;
% 首先是对灰度图片进行对数变换
imGray = imread('g1.png');
% 把图像转变为(0~1)的double类型数值,便于进行计算
imGray = im2double(imGray);
subplot(4,2,1);
imshow(imGray);
subplot(4,2,2);
% 显示直方图
imhist(imGray);
imTrans = 1.6 * log(1 + imGray);
subplot(4,2,3);
imshow(imTrans)
subplot(4,2,4);
imhist(imTrans);
% 对彩色图片进行对数变换
imRgb = imread('rgb1.png');
imRgb = im2double(imRgb);
imTransRgb = 2.0 * log( 1 + imRgb );
subplot(4,2,5);
imshow(imTransRgb);
subplot(4,2,6);
imhist(imTransRgb);
subplot(4,2,7);
imshow(imRgb);
subplot(4,2,8);
imhist(imRgb);