如何以 CSV、C、Python、MatLab、NumPy 样式格式打印 cv::Mat

2024-03-15

我有一个 OpenCV 矩阵。我想以问题中提到的任何样式打印它。

cv::Mat1b image = cv::imread(input_name, cv::IMREAD_GRAYSCALE);
std::cout << format_in_c_style(image);

有任何想法吗?


除了创建一个cv::Formatter明确地,人们还可以使用cv::format(),可以与std::cout直接,并且稍微短一点:

cv::Mat image;    //Loaded from somewhere
std::cout << cv::format(image, "numpy") << std::endl;

第二个参数在哪里cv::format()是其中提到的任何字符串肯兄弟 https://stackoverflow.com/a/17040802/1601291的回答。

在 OpenCV 版本 3 中,format()不再需要字符串,而是枚举。枚举常量对应于允许的字符串值,如下所示:

FMT_DEFAULT
FMT_MATLAB
FMT_CSV
FMT_PYTHON
FMT_NUMPY
FMT_C

调用方式与上面类似:

std::cout << cv::format(image, cv::Formatter::FMT_NUMPY) << std::endl;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何以 CSV、C、Python、MatLab、NumPy 样式格式打印 cv::Mat 的相关文章

随机推荐