0

我找到了这个用于计算直方图的 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 的像素数)?

先感谢您。

4

1 回答 1

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

于 2013-06-17T08:54:37.560 回答