前些天完成了计算机视觉大作业,《基于双目立体视觉的深度图像生成》,虽然刚开始觉得作业很难,也没找到现成的程序,但做到最后还是学到很多知识,get到很多技能,现在一一总结下来。
1、C++输出数据到txt
包含头文件:
#include <fstream> //文件交互
开头程序:
ofstream outf;//这里如果定义outfile 下面都用outfile
outf.open("result.txt", std::ios::out | std::ios::app);
if (!outf.is_open())return 0;
写入及输出保存:
outf << "\n序号" << (i) << endl;
outf << "左图匹配点坐标:u1=" << point[i][0] << " v1=" << point[i][1] << endl;
outf << "右图匹配点坐标:u2=" << point[i][2] << " v2=" << point[i][3] << endl;outf.close();//关闭并保存ifstream iFile("result.txt");//输出到屏幕
string readStr((std::istreambuf_iterator<char>(iFile)), std::istreambuf_iterator<char>());
cout << readStr.c_str();
2、输出数据到excel
ofstream outf;//这里如果定义outfile 下面都用outfile
outf.open("result.csv", ios::out | ios::trunc);
if (!outf.is_open())return 0;
写入及保存:
outf << "序号" << "," << "左图匹配点坐标" << "," << " 右图匹配点坐标" << "," << "深度" << endl;
outf << i <<","<< point[i][0]<<" "<< point[i][1]<<"," << point[i][2]<<" " << point[i][3]<<"," << result.at<float>(2, 0) << endl;outf.close();
注意:(1)excel要用""隔开。代表分别为不同的单元格;
(2)输出到的文件格式是“csv”,可以用excel打开,复制到excel里面