浅析matlab中imadjust函数
imadjust
imadjust是一个计算机函数,该函数用于调节灰度图像的亮度或彩色图像的颜色矩阵。在matlab的命令窗口中键入: doc imadjust或者help imadjust即可获得该函数的帮助信息, 键入type imadjust可以查看函数的源代码。
函数功能:
imadjust在数字图像处理中用于进行图像的灰度变换(调节灰度图像的亮度或彩色图像的颜色矩阵)。在matlab的命令窗口中键入: doc imadjust或者help imadjust即可获得该函数的帮助信息, 键入type imadjust可以查看函数的源代码。
格式:
g = imadjust(f,[low_in; high_in],[low_out; high_out]) 将图像I中的亮度值映射到J中的新值。即将low_in至high_in之间的值映射到low_out至high_out之间的值。 low_in 以下与 high_in 以上的值被剪切掉了,即低于low_in的作为low_in进行映射,高于high_in的作为high_in 进行映射。 [low_in; high_in]和[low_out; high_out]都可以使用空矩阵表示,默认为[0,1] 除f外,其他参数都在0到1之间。如果high_out<low_out,则输出灰度将被反转。
f = imread('C:\Users\win\Desktop\city-street.jpg'); %调整灰度图像的灰度范围 g = imadjust(f,[0.2;0.6],[0;1]); figure(1); subplot(1,2,1);imshow(f);title('原图'); subplot(1,2,2);imshow(g);title('调节灰度的图')
原图像的灰度范围在0~255之间,imadjust将小于0.2x255的值设为0,将大于0.6x255的值设为255。
stretchlim()
计算灰度图像的最佳输入区间。
使用stretchlim()和imadjust()共同对调整灰度图像的灰度范围
f = imread('C:\Users\win\Desktop\landscape.jpg'); s = stretchlim(f);%计算灰度图像的最佳输入区间 g = imadjust(f,s,[0,1]);%调整灰度图像的灰度范围 figure(1); subplot(1,2,1);imshow(f);title('原图'); subplot(1,2,2);imshow(g);title('调节灰度的图')
g = imadjust(f,[low_in; high_in],[low_out; high_out],gamma) 将图像 I 中的亮度值映射到 J 中的新值。其中 gamma指定描述值f和值g关系的曲线形状。如果gamma小于1,此映射偏重更高数值(明亮)输出;如果gamma大于1,此映射偏重更低数值(灰暗)输出;默认gamma为1(线性映射)。
f = imread('C:\Users\win\Desktop\landscape.jpg'); s = stretchlim(f);%计算灰度图像的最佳输入区间 g = imadjust(f,s,[0,1],0.6);%调整灰度图像的灰度范围 h = imadjust(f,s,[0,1],6); figure(1); subplot(1,3,1);imshow(f);title('原图'); subplot(1,3,2);imshow(g);title('gamma = 0.6') subplot(1,3,3);imshow(h);title('gamma = 6');
RGB2 = imadjust(RGB1,…) 对 RGB 图像 RGB1 的红、绿、蓝调色板分别进行调整。随着颜色矩阵的调整,每一个调色板都有唯一的映射值。
f = imread('C:\Users\win\Desktop\rabbit.jpg'); g = imadjust(f,[0.2 0.3 0.1;0.6 0.8 0.9],[],0.6);%imadjust对RGB图像进行处理 figure(1); subplot(1,2,1);imshow(f);title('原图'); subplot(1,2,2);imshow(g);title('处理后的图像')
知识点补充:
MATLAB imadjust函数理解
J = imadjust(I,[LOW_IN; HIGH_IN],[LOW_OUT; HIGH_OUT]) [LOW_IN; HIGH_IN]控制原图像I中像素值要在J中显示的范围,LOW_IN表示I要显示的像素值最小值,HIGH_IN表示I要显示的像素值最大值 [LOW_OUT; HIGH_OUT]表示J中像素值范围
举个例子:
J = imadjust(I,[0.3 0.8],[0.2 0.9]) :表示I显示在J中的像素值范围为0.3到0.8,而且0.3在J中对应0.2,0.8在J中对应0.9。I中小于0.3的也都在J中用0.2表示,高于0.8的像素在J中都用0.9表示。 J = imadjust(I,[LOW_IN; HIGH_IN],[LOW_OUT; HIGH_OUT],GAMMA) GAMMA指定描述I和J关系的曲线的形状,GAMMA小于1意味着I的值在映射到J时变得比原值更大,GAMMA大于1意味着I的值映射后更小。
总结
到此这篇关于matlab——imadjust函数的文章就介绍到这了,更多相关matlab——imadjust函数内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!