c++ - 将 OpenCV Mat 转换为数组(可能是 NSArray)

标签 c++ ios json opencv matrix

我的 C/C++ 技能很生疏,OpenCV 的文档也相当晦涩难懂。有没有办法将 cv::Mat data 属性转换为数组/NSArray?

我想将其序列化为 JSON,我知道我可以使用 FileStorage 实用程序转换为 YAML/XML,但这不是我想要做的。

Mat -> NSArray -> JSON

(我想将内部相机校准值发送到服务器)

谢谢

最佳答案

您可以使用:

double *d = intrinsics.ptr<double>(0);

这将为您提供一个包含 9 个 double 的数组。 (这只是一个强制转换,所以要小心不要让内在函数 Mat 超出范围。)

double d = intrinsics.at<double>(i,j);

访问单个元素。

关于c++ - 将 OpenCV Mat 转换为数组(可能是 NSArray),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20797312/

相关文章:

c++ - MSB6006 : "cmd.exe" exited with code -1073741571

c++ - Boost.Process 检查进程是否终止

iphone - 带有 UIWebview 的 IP 摄像机流适用于 IOS 5 但不适用于 IOS 6

ruby-on-rails - MultiJson::DecodeError {"email"处的意外标记 :"foo@bar.com"}

java - 使用序列化为 json 的不同消息类型

java - Swagger 模型架构不包含主体参数的变量名称

c++ - C++程序中随机调用函数

python - 编译和运行后 boost python 给我段错误

ios - 关于 NetworkExtension iOS 9 的疑惑

ios - 使用 "NSHTTPCookie cookieWithProperties"创建 cookie 失败