如何在C中获取BMP图像的像素数据?
我可以读取图像的结构,但是有一种方法可以显示像素数据吗?
在我看来,在C中最简单的方法,而不是C 使用OpenCV。该库包含一个C API,可以使您的生活更轻松。您可以在文档中查看更多详细信息,但是您要执行这样简单任务的代码看起来像该代码:
IplImage* img = 0;
uchar *data;
// load an image
img=cvLoadImage("filename.bmp");
if(!img)
{
printf("Could not load image file: %sn",argv[1]);
exit(0);
}
// create a window
cvNamedWindow("mainWin", CV_WINDOW_AUTOSIZE);
cvMoveWindow("mainWin", 100, 100);
// show the image
while(1)
{
cvShowImage("mainWin", img );
if(cvWaitKey(30) > 0)
break;
}
// release the image
cvReleaseImage(&img);