请问如何将bmp图像的文件头去掉,只保存实际的图像数据
比如现在有一个图像文件1.bmp,我需要去掉他的文件头,生成一个2.bmp文件,2.bmp里面保存的是实际的图像数据(没有文件头)请问这个应该怎么处理呢,有软件可以直接转...
比如现在有一个图像文件1.bmp,我需要去掉他的文件头,生成一个2.bmp文件,2.bmp里面保存的是实际的图像数据(没有文件头)
请问这个应该怎么处理呢,有软件可以直接转换吗? 展开
请问这个应该怎么处理呢,有软件可以直接转换吗? 展开
3个回答
展开全部
很简单的功能但应该没软件能这么做的,因为没了图像头文件就不算是图片了,还能干什呢?想要这功能就自己编了。在c#中好像是:
byte[] bmpData= null;
FileStream fs = new FileStream("1.bmp", FileMode.Open, FileAccess.Read);
audioData = new byte[fs.Length - 54];
fs.Position = 54;
fs.Read(bmpData, 0, bmpData.Length);
fs.Close();
bmp图像头大小好像是54吧,不是的就改改,剩下部分就是图像数据了,存在bmpData中,在吧bmpData的数据写到2.bmp就可以了。
FileStream fo = new FileStream("2.bmp", FileMode.Create, FileAccess.Write);
BinaryWriter bw = new BinaryWriter(fo);
bw.Write(bmpData);
bw.Close();
fo.Close();
byte[] bmpData= null;
FileStream fs = new FileStream("1.bmp", FileMode.Open, FileAccess.Read);
audioData = new byte[fs.Length - 54];
fs.Position = 54;
fs.Read(bmpData, 0, bmpData.Length);
fs.Close();
bmp图像头大小好像是54吧,不是的就改改,剩下部分就是图像数据了,存在bmpData中,在吧bmpData的数据写到2.bmp就可以了。
FileStream fo = new FileStream("2.bmp", FileMode.Create, FileAccess.Write);
BinaryWriter bw = new BinaryWriter(fo);
bw.Write(bmpData);
bw.Close();
fo.Close();
展开全部
你都保存为.bmp了,怎么会没有文件头呢?
你如果只想要图像数据,你用matlab读入,将图像矩阵保存起来就行了。
你如果只想要图像数据,你用matlab读入,将图像矩阵保存起来就行了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
%matlab
dataim=imread('1.bmp');
dataim=imread('1.bmp');
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询