MATLAB数字图像处理练习3——利用imadjust函数改变灰度图的亮度和RGB图的色彩

一、J=imadjust(I)

根据官方对这个用法的说明,J = imadjust(I)将灰度图像I中的强度值映射到J中的新值,使得1%的数据在I的低强度和高强度时达到饱和。这增加了输出图像J的对比度。

I=imread('test_gray.jpg')  %读入当前工作目录下test_gray灰度图
imshow(I)       %显示读入图像
J=imadjust(I);%进行灰度变换
figure;%打开新窗口
imshow(J);%显示变换后图像

效果如下图,右边的对比度明显增大。

MATLAB数字图像处理练习3——利用imadjust函数改变灰度图的亮度和RGB图的色彩_第1张图片

二、J = imadjust(I,[low_in; high_in],[low_out; high_out])

将I中的值映射到J中的新值,使low_in和high_in之间的值映射到low_out和high_out之间的值。I中灰度小于low_in的部分被赋值为low_out,灰度大于high_in的部分被赋值为high_out。如果high_out小于low_out, imadjust将反转输出图像,就像在照相负片中一样。

I=imread('test_gray.jpg')  %读入当前工作目录下lena图
imshow(I)       %显示读入图像
J=imadjust(I,[0.2;0.8],[0.4;0.8]);%将原图像0.2到0.8范围内的灰度值映射到新图像的0.4到0.8范围内
figure;%打开新窗口
imshow(J);%显示新图像

即255*0.2到255*0.8的灰度值范围映射到255*0.4到255*0.8到灰度值范围

从下面的效果图中可以看出图像整体偏亮而且对比度减小

MATLAB数字图像处理练习3——利用imadjust函数改变灰度图的亮度和RGB图的色彩_第2张图片

三、J = imadjust(I,[low_in; high_in],[low_out; high_out],gamma)

将I中的值映射到J中的新值,其中gamma指定描述I和J中的值之间关系的曲线形状。如果gamma小于1,此映射偏重更高数值(明亮)输出,如果gamma大于1,此映射偏重更低数值(灰暗)输出,如果省略此参数,默认为(线性映射)。 《Simulink与信号处理》

还是用上面的代码,将函数的参数gamma分别设为0.5和5效果分别如下图(左边为原图)

MATLAB数字图像处理练习3——利用imadjust函数改变灰度图的亮度和RGB图的色彩_第3张图片

MATLAB数字图像处理练习3——利用imadjust函数改变灰度图的亮度和RGB图的色彩_第4张图片

四、RGB2 = imadjust(RGB1,___) 

对RGB图像RGB1的每个平面(红、绿、蓝)进行调整。如果low_in、high_in、low_out、high_out和gamma是标量,则imadjust对图像的红色、绿色和蓝色组件应用相同的映射。要为图像的每个颜色组件指定惟一的映射,请将low_in、high_in、low_out、high_out和gamma指定为1×3的向量。

I=imread('test.jpg')  %读入当前工作目录下的RGB图
imshow(I)       %显示读入图像
J=imadjust(I,[0 0 0; 1 1 0.1],[]);%分别设置RGB的映射参数,原理同前
figure;%打开新窗口
imshow(J);%显示新图像

这里我把imadjust函数的参数分别设置为J=imadjust(I,[0 0 0; 0.1 1 1],[]);  J=imadjust(I,[0 0 0; 1 0.1 1],[]);  

J=imadjust(I,[0 0 0; 1 1 0.1],[]);即分别改变R G B的映射范围,效果图依次如下

MATLAB数字图像处理练习3——利用imadjust函数改变灰度图的亮度和RGB图的色彩_第5张图片

MATLAB数字图像处理练习3——利用imadjust函数改变灰度图的亮度和RGB图的色彩_第6张图片

MATLAB数字图像处理练习3——利用imadjust函数改变灰度图的亮度和RGB图的色彩_第7张图片

最后,给帅纶纶调了个色,发现还是原图好看,果然还是得学习更多才行(哭

MATLAB数字图像处理练习3——利用imadjust函数改变灰度图的亮度和RGB图的色彩_第8张图片

你可能感兴趣的:(MATLAB数字图像处理练习3——利用imadjust函数改变灰度图的亮度和RGB图的色彩)