Skip to content

Instantly share code, notes, and snippets.

@komakai
Last active September 17, 2023 08:41
Show Gist options
  • Save komakai/82c36fa75dfbf83ecdf058d3b787dad3 to your computer and use it in GitHub Desktop.
Save komakai/82c36fa75dfbf83ecdf058d3b787dad3 to your computer and use it in GitHub Desktop.
Dump OpenCV Mat to file
static std::string type2str(int type) {
std::string r;
uchar depth = type & CV_MAT_DEPTH_MASK;
uchar chans = 1 + (type >> CV_CN_SHIFT);
switch ( depth ) {
case CV_8U: r = "8U"; break;
case CV_8S: r = "8S"; break;
case CV_16U: r = "16U"; break;
case CV_16S: r = "16S"; break;
case CV_32S: r = "32S"; break;
case CV_32F: r = "32F"; break;
case CV_64F: r = "64F"; break;
default: r = "User"; break;
}
r += "C";
r += (chans+'0');
return r;
}
static void dumpMat(Mat m, std::string dir, std::string prefix) {
ostringstream osFileName;
osFileName << dir << "/" << prefix << "_" << + m.rows << "x" << m.cols << "_" << type2str(m.type()) << ".bin";
string fileName = osFileName.str();
ofstream outfile;
outfile.open(fileName);
outfile.write((char*)m.data, m.total() * m.elemSize());
outfile.close();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment