Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to create a histogram

I want to create a histogram within a C# program that uses EMGU. EMGU contains a class called MCvHistogram in it, but I don't know how to use it.

like image 735
White Dwarf Avatar asked Feb 05 '11 08:02

White Dwarf


2 Answers

You should use DenseHistogram class if you want to use EmguCV. I'll show you basic usage:

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

There are a lot of other common methods inside DenseHistogram class such as Back Projection

like image 112
Luca Del Tongo Avatar answered Oct 05 '22 07:10

Luca Del Tongo


You can use this code snippet:

histogramBox.GenerateHistograms(image,bin);               
histogramBox2.Refresh();

It will create a histogram of your picture automatically.

like image 23
HazzA Avatar answered Oct 05 '22 05:10

HazzA