将 OpenCV Mat 转换为数组(可能是 NSArray)
Posted
技术标签:
【中文标题】将 OpenCV Mat 转换为数组(可能是 NSArray)【英文标题】:Converting OpenCV Mat to array (possibly NSArray) 【发布时间】:2013-12-27 08:23:43 【问题描述】:我的 C/C++ 技能生疏了,OpenCV 的文档也很模糊。有没有办法将cv::Mat
data
属性转换为数组/NSArray?
我想将其序列化为 JSON,我知道我可以使用 FileStorage 实用程序将其转换为 YAML/XML,但这不是我想要做的。
Mat -> NSArray -> JSON
(我想将内部相机校准值发送到服务器)
谢谢
【问题讨论】:
另一个讨厌的反对票...这个问题已经被访问了很多次,所以我认为它对某些人有用。 【参考方案1】:你可以使用:
double *d = intrinsics.ptr<double>(0);
这将为您提供一个包含 9 个双精度数的数组。 (这只是一个演员表,所以要小心不要让内在函数 Mat 超出范围。)
或
double d = intrinsics.at<double>(i,j);
访问单个元素。
【讨论】:
以上是关于将 OpenCV Mat 转换为数组(可能是 NSArray)的主要内容,如果未能解决你的问题,请参考以下文章
android:如何将 int[] 转换为 OpenCV Mat c++?