如何在OpenCV Cuda(GpuMat)中访问像素
how to access pixel in OpenCV Cuda (GpuMat)
cv::Mat image = cv::Mat::zeros(1920,1080,CV_8UC4); //it's an example (I use image have 4 channel)
cv::Vec4b& pixel = image.at<cv::Vec4b>(i,j) // i and j is rows and cols
我想使用Cuda(GpuMat(,但没有".at">
如何更改访问像素的代码
cv::cuda::GpuMat
类在 GPU/设备上实时提供数据,CPU/主机代码无法直接访问这些数据。这就是为什么没有等同于cv::Mat.at()
的原因。在主机和设备之间传输数据很慢,因此在cv::cuda::GpuMat
上执行每像素操作比在cv::Mat
上慢得多。
但是,可以编写执行每像素操作的 CUDA 内核。恐怕虽然我不能就此给出好的建议,但这显然是可行的,并且有类似问题的答案,例如这个可能会对您有所帮助。
除此之外,根据您需要执行的操作,可能会有一个内置函数执行类似操作。
相关文章:
- 访问随机图像像素的快速方法,最多一次
- OpenCV 像素访问点与 at() - 不同的值
- 如何使用 freetype2 访问单色位图中的像素状态
- 访问和更改基于另一个图像的像素颜色-opencv c++
- OpenCV 访问像素的颜色值
- 如何在OpenCV Cuda(GpuMat)中访问像素
- 使用glgetTeximage()访问像素
- 如何在opencv C++中访问特定的超像素
- OpenCV VisualStudio,C 代码错误尝试访问像素
- 从SDL_Texture访问像素颜色
- 不能通过基于指针的访问像素强度来分割 RGB 图像
- 访问 openCV 中某个图像中所有像素的 RGB 值
- 如何使用OpenCV快速访问像素值C++
- 访问图像像素;MatIterator_<> 和 Mat::at 运算符的比较
- 访问像素值,而不在内存中加载大图像的图像
- 使用 BMP 作为高度图.如何访问像素颜色以设置高度
- 使用Mat OpenCV访问像素
- 使用OpenCV多通道Mat沿着通道方向访问像素
- 使用OpenCV点击图像中的一个点来访问像素值
- 无法从灰度图像访问像素值