如何在c语言 读取BMP图片的信息

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在c语言 读取BMP图片的信息相关的知识,希望对你有一定的参考价值。

不要网上查的!要绝对可以实现的!

1、可以读出8位的BMP的信息 。
2、将每个像素点的颜色信息 读出,并存入2维数组中。

可追加分数 多多的!

使用opencv的库吧,安装很简单,处理图像的功能很强大
#include "cv.h"
#include "highgui.h"

int main( int argc, char** argv )

IplImage* pImg; //声明IplImage指针

//载入图像
if( argc == 2 &&
(pImg = cvLoadImage(“XXX.bmp”, 1)) != 0 )//这里bmp要放到工程文件夹下,否则写绝对路径,取像素值请用:pImg.ptr<Vec3b>(i)[j]

cvNamedWindow( "Image", 1 );//创建窗口
cvShowImage( "Image", pImg );//显示图像

cvWaitKey(0); //等待按键

cvDestroyWindow( "Image" );//销毁窗口
cvReleaseImage( &pImg ); //释放图像
return 0;


return -1;
追问

不用这个opencv 可以吗?

追答

也可以,但是就比较麻烦一些,比如在MFC中读取的例子:

http://blog.csdn.net/yangfm315/article/details/6409617

参考技术A CxImage image(filedir);
cout<<image.GetSize()<<endl;
cout<<image.getHeight()<<endl;
cout<<image.getWidth()<<endl;
cout<<image.getNumColors()<<endl;
cout<<image.getBpp()<<endl;
cout<<image.getType()<<endl;

以上是关于如何在c语言 读取BMP图片的信息的主要内容,如果未能解决你的问题,请参考以下文章

用C语言读取16位bmp图片的每个像素的信息~

用c语言读取24位位图bmp文件

用C语言编写程序处理图片bmp文件 1.读取图片的宽度,高度,每个像素所需的位数,水平分辨率,垂直

如何批量读取bmp图片的原始高和宽

C语言读取1位的BMP图

读bmp图片:头文件为66字节。。。怎么用c语言来读取数据啊,网上的代码我看不懂。新手,希望能写明白些