灰度变换增强,是把对比度弱的图像变成对比度强的图像。由于拍摄条件的限制,导致图像的对比度比较差,图像的直方图分布不够均匀。
直方图的均衡化,是指将一幅图像的像素值均匀地分布在图像的各个区间上,从而使图像的视觉效果得到改善。
GNU Octave的图像处理工具中,提供了调整灰度调整函数,如imadjust, histeq等。但应用这些函数时,仅针对灰度图像有效,对彩色图像无效。对于彩色图像,先要转化为灰度图像,如下:
J=rgb2gray(RGB);
J1=imadjust(J);
即使转化成功,灰度图像J1由于失去了colormap的对应关系,也不能生成彩色的RGB图像。
为此,需要先把RGB图像,转化为YCbCr图像,再对Y分量进行灰度处理,再输出变换后的彩色图像。
图一
图一是原始的RGB图像和灰度图像。
图二
图二是经过灰度增强变换后,生成的灰度图和彩色图。可以明显看出,对比度得到了增强。
相关代码如下:
clear all;
clf;
I=imread('duck-p.jpg');
J=rgb2ycbcr(I);
J1=J(:,:,1);
J2=imadjust(J1);
imshow(J1);
figure,
imshow(J2);
J(:,:,1)=J2;
K=ycbcr2rgb(J);
figure,
imshow(K);
title('K');
figure,
imshow(I);
title('I');