Я хочу создать гистограмму в программе C#, использующей EMGU. EMGU содержит класс MCvHistogram, но я не знаю, как его использовать.
Как создать гистограмму
comment
В этой статье показано, как создать гистограмму в RGB stackoverflow.com/questions/8204822/
- person JiP   schedule 14.01.2014
Ответы (2)
Вы должны использовать класс DenseHistogram, если хотите использовать EmguCV. Я покажу вам основное использование:
// Create a grayscale image
Image<Gray, Byte> img = new Image<Gray, byte>(400, 400);
// Fill image with random values
img.SetRandUniform(new MCvScalar(), new MCvScalar(255));
// Create and initialize histogram
DenseHistogram hist = new DenseHistogram(256, new RangeF(0.0f, 255.0f));
// Histogram Computing
hist.Calculate<Byte>(new Image<Gray, byte>[] { img }, true, null);
Внутри класса DenseHistogram есть много других распространенных методов, таких как Back Projection.
person
Luca Del Tongo
schedule
05.02.2011
спасибо .. но я уже рассчитываю гистограмму, используя CvInvoke.cvCalHist(), но я считаю, что описанный выше метод намного проще в использовании. Можете ли вы кратко описать разницу между McvHistogram и DenseHistogram?
- person White Dwarf; 07.02.2011
DenseHistogram — это управляемый класс, обертывающий McvHistogram. Вы можете проверить класс DenseHistogram и убедиться, что у него есть свойство MCvHistogram. Я предлагаю не использовать cvinvoke, когда функциональность opencv уже заключена в надлежащий управляемый класс...
- person Luca Del Tongo; 07.02.2011
Вы можете использовать этот фрагмент кода:
histogramBox.GenerateHistograms(image,bin);
histogramBox2.Refresh();
Он автоматически создаст гистограмму вашего изображения.
person
HazzA
schedule
27.04.2011
откуда вы знаете, какое значение передать для bin?
- person gonzobrains; 31.08.2013
Кроме того, почему у вас два поля гистограммы?
- person gonzobrains; 31.08.2013