c++ - 如何将opencv mat转换为字符串c ++
问题描述
float matrix_data[] = {0.9867, 0.02454, -0.1603,
0.01921, 0.9638, 0.2657,
0.16112, -0.2652, 0.9506};
cv::Mat res_mat = cv::Mat(3,3,CV_32F,matrix_data);
cout << "res_mat :" << res_mat<<endl;
我知道我可以通过这个看到垫子的输出,但我想将此垫子添加到字符串中,如下所示:
std::string my_str = "my mat :";
my_str += to_String(res_mat);
所以期望的结果将是:
my mat : 0.9867, 0.02454, -0.1603, 0.01921, 0.9638, 0.2657,0.16112, -0.2652, 0.9506
解决方案
使用std::ostringstream
. 在此之前,为您的矩阵创建新标头以将其视为向量:
cv::Mat oneRow = res_mat.reshape(0,1); // Treat as vector
std::ostringstream os;
os << oneRow; // Put to the stream
std::string asStr = os.str(); // Get string
asStr.pop_back(); // Remove brackets
asStr.erase(0,1);
cout << "res_mat :" << asStr <<endl;
推荐阅读
- c# - 如何从 VSTO Addin Outlook 中的标头字符串 (PR_TRANSPORT_MESSAGE_HEADERS) 中获取详细信息
- r - 如何根据 R 中的相对行引用计算列?
- algorithm - 在矩阵中获得相邻 1 的最小翻转次数
- php - 我正在尝试从 mysql 数据库中获取帖子数据。但循环永远运行。为什么?
- python - 更改 Seaborn 的 pairplot 的回归线颜色
- c# - WPF - 从 RichTextBox 更改焦点会导致 InvalidOperationException
- java - Netbeans 中的问答游戏 - 从文本文件中读取
- c++ - 警告:ISO C++ 禁止变长数组
- php - 使用 PHP 在 Marketo API 中从 HTML 输入设置 filterValues
- flutter - 如何在 Flutter 中通过文本划线?