gpt4 book ai didi

c++ - txt 中的 vector 垫

转载 作者:行者123 更新时间:2023-11-28 07:04:21 26 4
gpt4 key购买 nike

我有一个 vector Mat 文件,我想将它存储在 txt 文件中。每个 mat 文件的大小为 1x4500,我总共有 5000 个 vector 。我试图用上面的代码存储在 txtfile 中:

void writeMatToFile(cv::Mat& m, const char* filename){

ofstream fout(filename);
for(int i=0; i<m.rows; i++){
for(int j=0; j<m.cols; j++){
fout<<m.at<float>(i,j)<<"\t";
}
fout<<endl;
}
fout.close();

主要内容:

    string file = "output.txt";
writeMatToFile(image,file.c_str());

但是,我遇到了未处理的异常错误。

最佳答案

使用您自己的格式以二进制模式写入您的数据。类似于:mat_count|shape1|data1(row_first)|shape2...

std::fstream 将在文本模式或二进制模式下为您完成更难的工作。您应该尝试两者以查看最终尺寸。

如果你的 Mat 数据是uint8, uint16,二进制模式会好很多。文本模式的问题是您需要为每个单独的数据添加一个分隔符,这会向您的文件添加额外的字节。然而,文本模式可以压缩数据:“1.5”3 vs 8 字节(双)。

最后,如果您绝对想要一个文本模式的文件,您可以在过程结束时将其压缩并查看比率。

关于c++ - txt 中的 vector 垫,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21982166/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com