【发布时间】:2014-01-21 19:07:54
【问题描述】:
我正在使用 OpenCV 开发 iOS。 OpenCV 是一个开源图像库,可与 C++ 一起使用。
我想将库中的一些数据存储在 NSData 对象中。 是否可以在不丢失对象的情况下将 c++ 结构转换为 NSData?
- (void)addMat:(cv::Mat)mat andImageName:(NSString *)name {
self.myMat = [NSData dataWithBytes:&mat length:sizeof(mat)];
self.imageName = name;
}
现在我正在使用上面的代码。 但是这个 NSData 只存储指针而不是实际数据。 当我尝试取回对象时,我
被释放的指针未被分配 * 在 malloc_error_break 中设置断点进行调试
我的数据应该存储在 SqlLite 数据库中。
你有什么想法来转换一切吗?
我尝试转换每个属性。这对某些属性非常有效,而对于其他属性则不起作用。
我希望你能帮助我。
谢谢。
你好,
亚历山大·海因里希
【问题讨论】:
-
看起来不错,您如何尝试恢复结构?
-
cv::垫子; [self.myMat getBytes:&mat 长度:sizeof(mat)];返回垫子;正如 Cy-4Ah 所说,指针会丢失。
标签: c++ objective-c opencv nsdata mat