c++ - 如何将NSData转换成OpenCV的图像(Mat)

标签 c++ ios objective-c opencv

应用程序接收字节,即图像数据(PNG 格式)。 如何将 NSData 字节或 (const void *) 缓冲区转换为 cv::Mat? 我知道我必须使用类似

NSData -> some array -> imdecode -> cv::Mat 

如何以正确的方式做到这一点?

最佳答案

可能会对其他几代人有所帮助。 解决方案:

NSData *data = ....//some byte array data
cv::Mat matC = cv::imdecode(Mat(1, (int)[data length], CV_8UC1, (void*)data.bytes), CV_LOAD_IMAGE_UNCHANGED);

关于c++ - 如何将NSData转换成OpenCV的图像(Mat),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25035330/

相关文章:

c++ - 序列化,没有库的整数,得到奇怪的结果

c++ - 我无法使用 C++ 使用 MPI 编译器进行编译

ios - 如何在 Swift 3.0 中获取保存的图像 URL

objective-c - 使用委托(delegate)方法扩展类

ios - 如何知道 View 层次结构中是否显示 UIActionSheet?

objective-c - 调用 initWithNibName 时 "The result of a delegate init call must be immediately returned or assigned to ' self '"

c++ - Hook ishellfolder enumobjects

c++ - 从基类的堆栈中调用派生类实例

ios - 如何在 iOS 中获得三行菜单选项?

ios - 动画 transform.scale 与 UIViewAnimationOptionBeginFromCurrentState 不按预期工作