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);
这是一个非常有用的功能。但是,documentation on-line中没有记录。例如,对于namedWindow
,文档中未列出标记WINDOW_OPENGL
。我在哪里可以找到OpenCV相关功能的文档?
答案 0 :(得分:1)
2.4.5的文档不是很完整。我认为没有比http://docs.opencv.org上看到的文档更多的文档了。
有较旧的文档,例如2.1的http://opencv.willowgarage.com/documentation/cpp/,但我没有找到它所需的标记文档。
答案 1 :(得分:0)
功能
cv::imshow(const & string, cv::InputArray)
本身不支持gpu矩阵,但通过强制转换支持GPU矩阵。
即。支持cv::Mat
输入的任何内容也应支持cv::gpu::GpuMat
。我认为这意味着当你调用该函数时,它会自动将矩阵下载到cv::Mat
并从那里开始,即你的imshow
函数调用不是直接绘制gpu-> gpu,而是去GPU-> CPU-> GPU