非图像数据上的直方图均衡

时间:2016-04-25 14:16:47

标签: matlab histogram

我有一个包含负值和正值的矩阵:

a sample matrix

我使用此命令成功绘制了pdf:

[n,xout] = hist(A(:), 256);
pdf = n/numel(A);
figure; stem(xout, pdf, 'marker', 'none');    

很遗憾,我无法使用unique(A)代替256,因为它会重复我的矩阵值!

这是pdf:pdf 如何进行直方图均衡化?我使用这个命令计算了pdf的累计和:

ind = find(pdf == max(pdf));

cdf1 = cumsum(pdf(ind:end));
cdf2 = cumsum(pdf(ind-1:-1:1));

cdf = [flipud(cdf2); cdf1];

figure; stem(xout, cdf, 'marker', 'none');

,结果cdf是:cdf

是真的吗?如果是的话,那我该怎么办?最后我如何将均衡直方图转换为均衡图像(矩阵)?

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

如果X是你的矩阵,你可以这样做:

[y, elements] = hist(X(:), unique(X));
stem(elements, y);

你有你的直方图