首页 / C++ / C++ 读raw和合并raw
C++ 读raw和合并raw
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C++ 读raw和合并raw,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1774字,纯文字阅读大概需要3分钟。
内容图文
![C++ 读raw和合并raw](/upload/InfoBanner/zyjiaocheng/596/e89e79f27c494b0cadfc5d717af0c876.jpg)
今天只做了两件事,学会C++读文件ifstream和写文件ofstream.记录下来,以后别忘记了。
用于读raw时的注意事项:
1.如果顺序读取,必须使用interleave的raw文件格式。即rgbrgbrgbrgb。
如果使用noninterleave,则变为:rrrrggggbbbb。读出来的数据会变。注意。
2.合并时,注意数据转换,如果是char转成int,就变成ASCII码了。所以尽量不要使用数据转换。
具体两个代码如下:
读取raw
文件为height65,width60.interleave的raw文件
#include<windows.h>
#include
#include
#include
using namespace std;
int main(void)
{
BYTE *pixel;
ifstream fin(“2.raw”,ios::binary);
if(!fin)
{
cerr<<“Open file error!”<<endl;
return false;
}
pixel=new BYTE[11700];
fin.read((char *)(pixel),11700);
int k = 0,i,j;
int r,g,b;
BYTE *pt;
ofstream fout;
int t=0;
fout.open(“2.txt”,ios::out);
for(i=0;i<65;i++)
{
for(j=0;j<60;j++)
{
pt =pixel+i*(603)+3j;
r = (int)(pt);
g = (int)((pt+1));
b = (int)(*(pt+2));
cout<<r<<" “<<g<<” “<<b<<” “;
fout<<r<<” “<<g<<” “<<b<<” ";
}
fout<<endl;
}
fout.close();
delete [] pixel;
pixel = NULL;
system(“pause”);
return 0;
}
2.合并
合并10个txt文件,到2.txt
#include
#include
#include
#include <stdLib.h>
#include
#include <math.h>
#include
#include
#include <time.h>
#include <windows.h>
using namespace std;
int main(void)
{
bool mergeRaw(char Filename[]);
BYTE *pixel;
BYTE *pt;
stringstream in_name;
for (int i=0;i<11;i++)
{
in_name.str("");
in_name<<“txt/”<< i+1000 <<".txt";
ifstream fin(in_name.str().c_str());
if(!fin)
{
cerr<<“Open file error!”<<endl;
return 0;
}
pixel=new BYTE [3];
fin.read((char *)(pixel),3);
ofstream fout(“txt/2.txt”,ios::app);
for(int i=0;i<3;i++)
{
pt=pixel+i;
cout<<(char)(*pt); //这里如果用(int)(*pt),结果将变成ASCII码。
fout<<(char)(*pt);
}
fout.close();
fin.close();
}
delete [] pixel;
pixel = NULL;
system(“pause”);
return 0;
}
内容总结
以上是互联网集市为您收集整理的C++ 读raw和合并raw全部内容,希望文章能够帮你解决C++ 读raw和合并raw所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。