将不同的直方图组合成一个Matlab

Combining different histogram into one Matlab

我正在处理面部图像,我有不同的图像块我已经计算了每个块的直方图,现在我想将所有块直方图组合成一个直方图,我正在尝试下面给出的代码,但是我没有得到正确的直方图,请帮助。

P1 = imhist(uint8(patch1));
P2 = imhist(uint8(patch2));
p3 = imhist(uint8(patch3));
P4 = imhist(uint8(patch4));
P5 = imhist(uint8(patch5));
P6 = imhist(uint8(patch6));
P7 = imhist(uint8(patch7));
P8 = imhist(uint8(patch8));
masterHist=[P1,P2,P3,P4,P5,P6,P7,P8];
[final, GLd] = imhist(uint8(masterHist));
subplot();
bar(GLd, final);
title('Histogram of Local Binary Pattern Final', 'FontSize', 14);

在 运行 上面的代码之后,我得到了这个不正确的直方图。

你的代码的问题是,你正在获取直方图的直方图,导致或多或少无意义的数据。 masterHist 已包含您要绘制的数据。

bar(masterHist)