圖像處理(三)
對數變換
可以拉伸范圍較窄的低灰度值,同時壓縮范圍較寬的高灰度值。可以用來擴展圖像中的暗像素值,同時壓縮亮像素值。
簡而言之是對圖像中低灰度細節進行增強
在灰度直方圖中的顯示就為,靠近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);