【MATLAB】imadjust, histeq, adapthisteq调整图像对比度

imadjust

调节灰度图像的亮度或彩色图像的颜色矩阵。

语法:
J = imadjust(I,[low_in; high_in],[low_out; high_out],gamma)
将图像I中的亮度值映射到J中的新值,即将low_in至hige_in之间的值映射到low_out至high_out之间的值。low_in以下与high_in以上的值被剪切掉了,也就是说,low_in以下的值映射到low_out,high_in以上的值映射到high_out。它们都可以使用空的矩阵[],默认值是[0 1]。

  • newmap = imadjust(map,[low_in high_in],[low_out high_out],gamma)
    调整索引色图像的调色板map。

  • RGB2 = imadjust(RGB1,[low_in high_in],[low_out high_out],gamma)
    对RGB图像1的红、绿、蓝调色板分别进行调整。随着颜色矩阵的调整,每一个调色板都有唯一的映射值。

  • 参数gamma指定了曲线的形状,该曲线用来映射I的亮度值。如果gamma小于1,映射被加权到更高的输出值。如果gamma大于1,映射被加权到更低的输出值。如果省略了函数的参量,则gamma默认为1(线性映射)。

示例:
调整灰度图像:K = imadjust(I,[0.3 0.7],[]);
figure, imshow(K)
调整RGB图像:RGB1 = imread(‘football.jpg’);
RGB2 = imadjust(RGB1,[.2 .3 0; .6 .7 1],[]);
imshow(RGB1), figure, imshow(RGB2)

histeq

使用直方图均衡增强对比度全页折叠

语法:
J = histeq(I,hgram)
J = histeq(I,n)
J = histeq(I)
newmap = histeq(X,map)
newmap = histeq(X,map,hgram)
[___,T] = histeq(___)

示例:

  • J = histeq(I,hgram) 变换灰度图像 I,以使输出灰度图像 J 具有 length(hgram) 个 bin
    的直方图近似匹配目标直方图 hgram。

  • J = histeq(I,n) 变换灰度图像 I,以使输出灰度图像 J 具有 n 个 bin 的直方图大致平坦。当 n 远小于 I 中的离散灰度级数时,J 的直方图更平坦。

  • J = histeq(I) 变换灰度图像 I,以使输出灰度图像 J 的直方图具有 64 个 bin 且大致平坦。

  • newmap = histeq(X,map) 变换颜色图中的值,以使索引图像 X的灰度分量的直方图大致平坦。变换后的颜色图是newmap。

  • newmap = histeq(X,map,hgram) 变换与索引图像 X 相关联的颜色图,以使索引图像 (X, newmap)的灰度分量直方图近似匹配目标直方图 hgram。histeq 函数返回变换后的颜色图newmap。length(hgram) 必须与 size(map,1) 相同。

  • [___,T] = histeq(___) 还返回变换 T,该变换将输入灰度图像或颜色图的灰度分量映射到输出灰度图像或颜色图的灰度分量。

adapthisteq

对比度受限的自适应直方图均衡化 (CLAHE)

语法:

J = adapthisteq(I)
J = adapthisteq(I,Name,Value)

示例:

  • J = adapthisteq(I) 使用限制对比度的自适应直方图均衡化 (CLAHE) 来变换值,从而增强灰度图像 I 的对比度。

  • J = adapthisteq(I,Name,Value) 使用名称-值对组来控制对比度增强的各个方面。

猜你喜欢

转载自blog.csdn.net/weixin_45355387/article/details/118539185