【发布时间】:2016-12-07 18:37:12
【问题描述】:
我有一系列亮度降低的图像,我想尝试通过直方图均衡来进行校正。我将histeq 应用于一些测试数据以了解该功能的工作原理
% Image that I would like to apply histogram equalization to
C = gallery('wilk',21);
figure, imagesc(C)
E = histeq(C);
figure, imagesc(E);
但是,当我查看histeq 的输出时,我得到的结果只有两个唯一值:0.873 和1.000。为什么输出不跨越输入的整个范围?我希望输出中有两个以上的唯一值。
【问题讨论】:
-
你为什么不直接做
imhist?它接受图像并在图中输出直方图。另外,直方图均衡后unique(C)会返回什么? -
请出示您的直方图均衡代码。同时,您尝试过
histeq吗? -
顺便说一句,
imhist不会返回空白输出。如果您查看强度 1,则所有强度都在归一化后映射到该强度。同样,您使用了错误的输入。 -
尝试改用
clim。直方图均衡对于您的目的来说太过分了。 -
@Masi Normalize
C在传递给histeq之前:histeq(mat2gray(C))
标签: matlab image-processing signal-processing histogram contrast