本文整理汇总了C++中Convert::RGB2Gray方法的典型用法代码示例。如果您正苦于以下问题:C++ Convert::RGB2Gray方法的具体用法?C++ Convert::RGB2Gray怎么用?C++ Convert::RGB2Gray使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Convert
的用法示例。
在下文中一共展示了Convert::RGB2Gray方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main(int argc, char const* argv[])
{
google::InitGoogleLogging(argv[0]);
FLAGS_logtostderr = true;
ilInit();
LOG(INFO) << "Using devil library version " << ilGetInteger(IL_VERSION_NUM);
// Allocate images
ILuint images[2]; // 0 for read, 1 for write
ilGenImages(2, images);
IL_CHECK_ERROR();
// Read image
ilBindImage(images[0]);
ilLoadImage("lena_color.bmp");
IL_CHECK_ERROR();
auto bpp = ilGetInteger(IL_IMAGE_BPP); // bpp = byte per pixels
CHECK_EQ(bpp, 3) << "BPP must be 3";
auto w = ilGetInteger(IL_IMAGE_WIDTH);
auto h = ilGetInteger(IL_IMAGE_HEIGHT);
LOG(INFO) << "Load image width = " << w << ", height = " << h;
ILubyte *color_img_ptr = ilGetData();
IL_CHECK_ERROR();
// Allocate image for store
ilBindImage(images[1]);
IL_CHECK_ERROR();
ilTexImage(w, h, 1, bpp, IL_LUMINANCE, IL_UNSIGNED_BYTE, NULL);
ILubyte *gray_img_ptr = ilGetData();
IL_CHECK_ERROR();
// Convert!
Convert c;
c.RGB2Gray(color_img_ptr, gray_img_ptr, w, h);
// store image
ilBindImage(images[1]);
ilEnable(IL_FILE_OVERWRITE);
ilSaveImage("lena_gray.bmp");
IL_CHECK_ERROR();
ilDeleteImages(2, images);
return 0;
}