1

OpenCV 库在编译时支持 GPU 和 OpenGL,允许使用 OpenGL 显示图像。例如,video_reader.cpp(位于 gpu 示例中)使用 OpenGL 直接从cv::gpu::GpuMat.

cv::gpu::GpuMat d_frame;
namedWindow("OpenGL", WINDOW_OPENGL);
cv::gpu::VideoReader_GPU d_reader(fname);
d_reader.dumpFormat(std::cout);
if (!d_reader.read(d_frame))
    break;
cv::imshow("GPU", d_frame);

这是一个非常有用的功能。但是,它没有记录在在线文档中。例如,对于namedWindow标志WINDOW_OPENGL未在文档中列出。我在哪里可以找到 OpenCV 的 OpenGL 相关功能的文档?

4

2 回答 2

1

2.4.5 的文档不是很完整。我认为没有比您在http://docs.opencv.org上看到的更多的文档了。

有较旧的文档,例如2.1 的http://opencv.willowgarage.com/documentation/cpp/,但我没有发现它包含您想要的标志的文档。

于 2013-07-05T22:03:31.810 回答
0

功能

cv::imshow(const & string, cv::InputArray)

本身不支持 gpu 矩阵,但通过强制转换支持 GPU 矩阵。

cv::Mat在其输入上支持 a 的任何东西也应该支持cv::gpu::GpuMat. 我想这意味着当你调用该函数时,它会自动将矩阵下载到acv::Mat并从那里开始,即你的imshow函数调用不是直接绘制gpu->gpu,而是gpu->cpu->gpu。

于 2013-08-06T17:15:14.187 回答