OpenCVのMatの値をCSVで保存する。
char name[256]; //ファイル名
sprintf_s(name, 256, "ディレクトリ名\\ファイル名%d.csv", counter);
//処理全体をループ内に入れてcounterを回せば、ファイル名に連番が付く
//フォルダがない場合は作成(direct.hをインクルードしておく )
if (_mkdir("ディレクトリ名") == 0);
//#include <direct.h>を忘れない
ofstream save(name);
double output;
for (int y = 0; y < height; ++y){ //row:列
for (int x = 0; x < width; ++x){
output = data.at<double>(y, x); //画像というか単純に行列のデータ
save << dec << output << ",";
}
//改行
save << endl;
}
//解放
save.close();
cv::Mat data はCV_64FC1とかを想定したもの。
で、for文で1ピクセルずつ回しているけど、書くのが面倒だったら↓みたいにOpenCVの関数使えば1行で書ける。
//csv変換して出力 save << cv::format(data, "csv");
以上。
![]() |
![]() |


0 件のコメント:
コメントを投稿