我发现这个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的像素数?)
提前谢谢你。
答案 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