Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
image2hist.C
Go to the documentation of this file.
1 /// \file
2 /// \ingroup tutorial_image
3 /// \notebook
4 /// Create a 2-D histogram from an image.
5 ///
6 /// \macro_image
7 /// \macro_code
8 ///
9 /// \author Olivier Couet
10 
11 void image2hist()
12 {
13  TASImage image("$ROOTSYS/tutorials/image/rose512.jpg");
14  UInt_t yPixels = image.GetHeight();
15  UInt_t xPixels = image.GetWidth();
16  UInt_t *argb = image.GetArgbArray();
17 
18  TH2D* h = new TH2D("h","Rose histogram",xPixels,-1,1,yPixels,-1,1);
19 
20  for (int row=0; row<xPixels; ++row) {
21  for (int col=0; col<yPixels; ++col) {
22  int index = col*xPixels+row;
23  float grey = float(argb[index]&0xff)/256;
24  h->SetBinContent(row+1,yPixels-col,grey);
25  }
26  }
27 
28  gStyle->SetPalette(kCubehelix);
29  h->Draw("colz");
30 }