Last active
September 17, 2023 08:41
-
-
Save komakai/82c36fa75dfbf83ecdf058d3b787dad3 to your computer and use it in GitHub Desktop.
Dump OpenCV Mat to file
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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