如何在计算后得到直方图的结果?

时间:2013-06-17 08:39:52

标签: .net opencv histogram emgucv

我发现这个C#代码片段用于计算直方图:

    int hBins = 180;
    RangeF hRange = new RangeF(0f, 179f);       //hue's range
    int sBins = 256;
    RangeF sRange = new RangeF(0f, 255f);
    Image<Bgr, Byte> imageSource = new Image<Bgr, Byte>(originalImage.ToBitmap());
    Image<Hsv, Byte> imageHsv = imageSource.Convert<Hsv, Byte>();
    Image<Gray, Byte>[] imagesHsv = imageSource.Split();
    DenseHistogram hist = new DenseHistogram(new int[] { hBins, sBins }, new RangeF[] { hRange, sRange });
    hist.Calculate(new IImage[] { imagesHsv[0], imagesHsv[1], imagesHsv[2] }, false, null);

我的问题是:如何获得直方图的结果,因为我需要得到每个bin的像素数?)

提前谢谢你。

1 个答案:

答案 0 :(得分:0)

您可以使用get()函数从2D直方图中获取特定的二进制值。

double value = hist.get(idx1, idx2);

有关详细信息,请参阅以下页面: http://www.emgu.com/wiki/files/2.0.0.0/html/9ed33093-215d-93f1-7141-0b701bfa9112.htm