问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何读写BMP文件中的图象像素数据

发布网友 发布时间:2022-05-02 23:16

我来回答

1个回答

热心网友 时间:2022-06-28 06:10

BMP图像像素读取的另一种方法
功能:读取BMP图像,将其像素值存储在TXT文档中。
#include <iostream>
#include <windows.h>
#include <stdlib.h>

using namespace std;

int main()
{
FILE *fpBmp;
BITMAPFILEHEADER bmpHeader;//包含文件类型、大小和布局的信息
BITMAPINFOHEADER bmpInfHeader;//包含位图的尺寸和颜色格式

const char *bmpname = "D://hzy124.bmp";
const char *txtname = "D://hzy124.txt";

if((fpBmp = fopen(bmpname,"rb"))==NULL)//fopen( "D://test.bmp","rb")
{
cout<<"the bmp file can not open!"<<endl;
exit(1);
}
//read the BITMAPFILEHEADER
fread(&bmpHeader,sizeof(BITMAPFILEHEADER),1,fpBmp);

//read the BITMAPINFOHEADER
fread(&bmpInfHeader,sizeof(BITMAPINFOHEADER),1,fpBmp);

// read bmp data
unsigned char *bmpData = new unsigned char[bmpInfHeader.biHeight*bmpInfHeader.biWidth*3];
//unsigned char *bmpData = new unsigned char[bmpInfHeader.biHeight*bmpInfHeader.biWidth];//黑白图像
fseek(fpBmp,bmpHeader.bfOffBits,SEEK_SET);
fread(bmpData,1,bmpInfHeader.biHeight*bmpInfHeader.biWidth*3,fpBmp);
//fread(bmpData,1,bmpInfHeader.biHeight*bmpInfHeader.biWidth,fpBmp);//黑白图像

FILE *temp;
if((temp = fopen(txtname,"wb"))==NULL)//写TXT文件
{
cout<<"the file can not be built!"<<endl;
exit(1);
}

for(int i = 0;i<bmpInfHeader.biHeight;i++)
{
for(int j = 0;j<bmpInfHeader.biWidth;j++)
{
fprintf(temp,"%d ",bmpData[i*bmpInfHeader.biWidth*3 + j*3]);
fprintf(temp,"%d ",bmpData[i*bmpInfHeader.biWidth*3 + j*3+1]);
fprintf(temp,"%d \t",bmpData[i*bmpInfHeader.biWidth*3 + j*3+2]);
//fprintf(temp,"%d ",bmpData[i*bmpInfHeader.biWidth + j]);//黑白图像
}
fprintf(temp,"\n");
}

fclose(fpBmp);
fclose(temp);

return 0;
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? 女生多大后可以不在长身高? 如何不用软件把手机投屏到电脑上手机屏幕怎样投放到电脑上 战时拒绝、故意延误军事订货罪既遂的处罚? 战时故意延误军事订货罪处罚标准 bmp读取 顺序 关于怎么用C++读取bmp图片 C语言 读取BMP文件 如何读取BMP图片,转换成二进制的数据流 用C语言怎么读取BMP格式的图片 c语言,怎样读取一个BMP图片? 如何读取BMP文件内容 BMP图片识别的方法? 湖南经视长沙保卫战网上哪里有下载到手机的,急求! 哪部抗战剧好看了求推荐 醒来洗发水怎么样? 大家来推荐下洗发水吧 Crisan洗发水质量怎么样? 验孕试纸会不会过期 自然而然洗发水怎么样 早孕试纸过期一个月测的结果准确吗 selsun洗发水和理然洗发水谁好 验孕纸会过期吗? 理然洗发水女士可以用吗 全自动洗衣机在主洗和预洗的槽都放了洗衣液,但是没用预洗模式,预洗 VC + +下实现BMP图像的读取显示(文字说明) 如何读取一副BMP图像中的数据并存入数组 VC中怎么读取bmp文件的像素 用MFC打开BMP图片后怎么读取图片的数据 C语言 读取黑白BMP图 如何批量读取bmp图片的原始高和宽 生物类企业,企业色彩是什么好? 作文题目坚守,只为梦想成真 以坚持为话题的作文题目 以追求与坚守为话题的作文题目怎么写 作文题目《坚守心态》作文 属羊的分别年龄是多少 属羊今年多少岁? 属羊今年多少岁呢 你好,我中签了一只20元的新股,一般可以获得多少盈利,1000股? 义乌闯红灯扣几分 冰箱能贴膜吗?家里的冰箱外表颜色不喜欢,想贴其他颜色,可以吗?求 妮维雅适合14岁女孩用吗 洗面奶晚上洗两次可以吗? 冰箱贴膜有冰箱外壳贴膜起气泡气泡怎么办?