Go back to Richel Bilderbeek's homepage.
Go back to Richel Bilderbeek's C++ page.
Graphics code snippet to get a histogram of a VCL TImage its color values.
* View the code of 'GetImageHistogram' in plain text
//From htpp://www.richelbilderbeek.nl/CppGetImageHistogram.htm
const std::vector<int> GetImageHistogram(const TImage * const image)
{
assert(image!=0 && "Image is NULL");
assert(image->Picture->Bitmap!=0 && "Image bitmap is NULL");
assert(image->Picture->Bitmap->PixelFormat == pf24bit && "Image bitmap must be 24 bit");
//Get the width and height from the source
const int width = image->Picture->Bitmap->Width;
const int height = image->Picture->Bitmap->Height;
std::vector<int> histogram(256,0); //There are 256 different color values
{
const unsigned char * line
= static_cast<const unsigned char *>(
image->Picture->Bitmap->ScanLine[y]);
{
= (line[x*3+0] + line[x*3+1] + line[x*3+2]) / 3;
++histogram[grey];
}
}
return histogram;
}
Go back to Richel Bilderbeek's C++ page.
Go back to Richel Bilderbeek's homepage.