【问题标题】:Combining different histogram into one Matlab将不同的直方图组合成一个 Matlab
【发布时间】:2016-03-19 04:51:07
【问题描述】:

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

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);

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

【问题讨论】:

  • 你期望什么输出?
  • 每个补丁的直方图的值从 0 到 255,现在我有 8 个直方图,这意味着当我合并为一个时,它必须在一个直方图中显示 256*8 个值,但这里它给了我点 0 处的所有值。
  • 只需将所有计数相加:P1 + P2 ...,或者您希望在一个图中有 8 条单独的线?
  • 这里不需要求和,我需要将这些直方图拼接成一个
  • 真的不清楚你需要什么。你能用 2 个补丁和 3 个 bin 来解释预期的输出是什么吗?说patch1 = [0, 2;4 2];patch2 = [2 0; 0 1],这会给你什么?

标签: matlab image-processing lbph-algorithm


【解决方案1】:

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

bar(masterHist)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-18
    • 1970-01-01
    • 2017-07-03
    • 1970-01-01
    • 2018-11-14
    • 1970-01-01
    • 2017-10-08
    • 2021-09-05
    相关资源
    最近更新 更多