当前位置: 首页>>代码示例>>C++>>正文


C++ Convert::RGB2Gray方法代码示例

本文整理汇总了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;
}
开发者ID:JieFangD,项目名称:Orientation,代码行数:45,代码来源:main.cpp


注:本文中的Convert::RGB2Gray方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。