c++ - OpenCV C++ 使用 cv::UMat 而不是 cv:Mat 和指针
问题描述
我想更改 OpenCV 中的一些代码以使用 cv::UMat 而不是 cv::Mat 在处理图像时获得 OpenCL/GPU 的额外速度。
但是我以前通过指针直接访问图像数据的方法不再起作用了,例如:
cv::Vec3b* imageP = image.ptr<cv::Vec3b>(y)
其中 image 是 cv::Mat 并且 y 是图像行偏移,因为 UMat 不存在 Ptr() 方法。
UMat 的正确语法是什么?甚至可能吗?
解决方案
谢谢你。我搜索了很多,我知道没有简单的解决方案,但是在 Mat 和 UMat 之间来回复制太慢了:(
推荐阅读
- javascript - 如何限制只允许整数特别是数千的文本框?
- sql - 如何在表格中添加一系列数据?
- python-3.x - 使用仿射变换映射点集
- jquery - 未捕获的类型错误:$(...).live 不是函数
- node.js - 为什么不在 Nodejs 中使用 import 而使用箭头函数
- python - 无法在多个字段上应用搜索 Django
- swift - 显示最近的消息未定义符号:_OBJC_CLASS_$_SFAuthenticationSession
- html - 如何在 VSCode 中将所有 HTML 属性设置为斜体?可能吗?
- javascript - 使用 Javascript 处理复数的不同方法是什么以及如何支持本地化?
- ios - MPSImageHistogramEqualization 抛出偏移量必须小于 [缓冲区长度] 的断言