MATLAB实现彩色图像对比度增强

对彩色图像进行增强、主要增强两方面,一方面是图像的亮度,另一方面就是图像的对比度。
参考链接:https://www.jianshu.com/p/5a8d12d6c649
基于修改直方图的方法:

  • 将RGB格式的图像转为HSV或者HSI格式,对于亮度值进行修改。主要是对V值直方图进行均衡化。
clear all;

close all;

RGB=imread('test.jpeg');

HSV=rgb2hsv(RGB);

H=HSV(:,:,1);

S=HSV(:,:,2);

V=HSV(:,:,3);

figure;

subplot(1,3,1),imhist(H);

subplot(1,3,2),imhist(S);

subplot(1,3,3),imhist(V);

V=histeq(V);

figure,imhist(V);

HSV(:,:,1)=H;

HSV(:,:,2)=S;

HSV(:,:,3)=V;

RGB_1=hsv2rgb(HSV);

figure;

subplot(1,2,1),imshow(RGB);

subplot(1,2,2),imshow(RGB_1);

作者:amazingu
链接:https://www.jianshu.com/p/5a8d12d6c649
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

补充:
以下三个函数特别适用于对比度增强:imadjust、histeq 和 adapthisteq。

  1. imadjust 将输入强度图像的值映射到新值,以对输入数据中强度最低和最高的 1%(默认值)数据进行饱和处理,从而提高图像的对比度。
  2. histeq执行直方图均衡化。它变换强度图像中的值,以使输出图像的直方图近似匹配指定的直方图(默认情况下为均匀分布),从而增强图像的对比度。
  3. adapthisteq 执行对比度受限的自适应直方图均衡化。与 histeq不同,它对小数据区域(图块)而不是整个图像执行运算。它会增强每个图块的对比度,使得每个输出区域的直方图近似匹配指定的直方图(默认情况下为均匀分布)。可以限制对比度增强,以避免放大图像中可能存在的噪声。

你可能感兴趣的:(MATLAB实现彩色图像对比度增强)