imadjust的使用

函数:

imadjust()函数用于调节灰度图像的亮度或彩色图像的颜色矩阵。常用语法有:J = imadjust(I)和J = imadjust(I, [low_in; high_in], [low_out; high_out], gamma)。

描述:

J = imadjust(I)将灰度图像I中的灰度值映射成输出图像J中的新值,使得灰度图像I在低灰度值和高灰度值上1%的数据是饱和的。这增强了输出图像J的对比度。本语法相当于imadjust(I, stretchlim(I))。

J = imadjust(I, [low_in; high_in], [low_out; high_out],gamma)将灰度图像I中的灰度值映射成输出图像J中的新值,使得low_in和high_in之间的值映射成low_out和high_out之间的值。low_in,high_in,low_out,high_out的值必须在0到1之间。低于low_in的值和高于high_in的值被去除,也就是说,低于low_in的值映射成low_out,高于high_in的值映射成high_out。你可以用一个空矩阵[]来替代[low_in; high_in]或者[low_out; high_out],这样就默认为[0 1]。参数gamma指定了曲线的形状,该曲线用来映射I的亮度值。如果gamma小于1,映射被加权到更高的输出值。如果gamma大于1,映射被加权到更低的输出值。如果省略了函数的参量,则gamma默认为1(线性映射)。

类型支持:

对于包含输入图像(而不是色彩表)的语法变体,输入图像的类型可以是uint8, uint16, int16, single和double,输出图像的类型与输入图像相同。对于包含色彩表的语法变体,输入和输出色彩表的类型都是double。

举例:

一、通过函数imadjust()调整图像的灰度范围

% 通过函数imadjust()调整图像的灰度范围
% 编写时间:2017-11-24 20:28:23  编写人:gq

close all; clear all; clc; 

I = imread('pout.tif'); 
J = imadjust(I, [0.314, 0.588], [0 1]); 
subplot(121), imshow(I); % uint8
subplot(122), imshow(J); % uint8

imadjust的使用_第1张图片

二、通过函数imadjust()调整图像的亮度

% 通过imadjust()函数调整图像的亮度
% 编写时间:2017-11-24 20:47:07  编写人:gq
% 通过参数gamma调整图像的亮度,如果gamma小于1,会加强亮色值的输出,如果gamma大于1,将会加强暗色值的输出。

close all; clear all; clc; 

I = imread('pout.tif'); 
J1 = imadjust(I, [0.1 0.5], [0 1], 0.4); % gamma = 0.4
J2 = imadjust(I, [0.1 0.5], [0 1], 4);  % gamma = 4

figure('name', '实验效果图'); 
subplot(131), imshow(J1); 
subplot(132), imshow(I); 
subplot(133), imshow(J2);

imadjust的使用_第2张图片

三、通过函数imadjust()对彩色图像进行增强

% 通过函数imadjust()对彩色图像进行增强
% 编写时间:2017-11-24 20:59:33  编写人:gq
% 函数imadjust不仅能够对灰度图像进行增强操作,还可以对彩色图像进行增强。
% 利用函数imadjust进行彩色图像增强时,是对彩色图像的RGB值分别进行操作。

close all; clear all; clc; 

I = imread('C:\Users\Administrator\Desktop\yasuo.jpg'); 
J = imadjust(I, [0.2 0.3 0; 0.6 0.7 1], []); 

subplot(121), imshow(I); % uint8
subplot(122), imshow(J); % uint8

imadjust的使用_第3张图片

你可能感兴趣的:(MATLAB)