将 cv::Mat 转换为 vector<int>

Posted

技术标签:

【中文标题】将 cv::Mat 转换为 vector<int>【英文标题】:Converting a cv::Mat into a vector<int> 【发布时间】:2013-07-24 22:19:18 【问题描述】:

我想将 cv:Mat 中的数据放入普通的 C++ vector。 我知道我可以将cv::Mat 重塑为带有mat.reshape ( 0, 1 ) 的向量

怎样才能把数据放入vector

【问题讨论】:

Converting a row of cv::Mat to std::vector的可能重复 【参考方案1】:

cv::Mat 有一个到std::vector 的转换运算符,前提是向量具有正确的数据类型。

cv::Mat m = cv::Mat::eye(3, 3, CV_8UC1);
std::vector<uchar> v = m.reshape(0, 1);

【讨论】:

以上是关于将 cv::Mat 转换为 vector<int>的主要内容,如果未能解决你的问题,请参考以下文章

将一行 cv::Mat 转换为 std::vector

将 vector<Point3d> 转换为大小为 (n x 3) 的 Mat,反之亦然

将cv :: Mat转换为std :: vector 并发症[重复]

std::vector<cv::Vec3b> 到 cv::Mat

cv::Mat_ 到 std::vector 的转换

如何在不复制数据的情况下将 cv::Mat 转换为 2d std::vector