Create a 2-D histogram from an image.
ØÀrÍ«
void image2hist()
{
TASImage image(
"$ROOTSYS/tutorials/visualisation/image/rose512.jpg");
UInt_t yPixels = image.GetHeight();
UInt_t xPixels = image.GetWidth();
UInt_t *argb = image.GetArgbArray();
TH2D *
h =
new TH2D(
"h",
"Rose histogram", xPixels, -1, 1, yPixels, -1, 1);
for (int row = 0; row < xPixels; ++row) {
for (int col = 0; col < yPixels; ++col) {
int index = col * xPixels + row;
float grey = float(argb[index] & 0xff) / 256;
h->SetBinContent(row + 1, yPixels - col, grey);
}
}
}
unsigned int UInt_t
Unsigned integer 4 bytes (unsigned int).
2-D histogram with a double per channel (see TH1 documentation)
- Author
- Olivier Couet
Definition in file image2hist.C.