cv后的间歇性视频:使用OCL

时间:2018-04-23 05:54:14

标签: windows opencv opencl gpu

我使用OCL模块测试OpenCV函数resize()。为此,我使用选项WITH_OPENCL构建了OpenCV 3.4.1的静态库。为了测试,我使用以下代码:

cv::Size sizeSrcCV = cv::Size(p->m_sizeSrc.cx, p->m_sizeSrc.cy);
cv::Size sizeDstCV = cv::Size(p->m_sizeDst.cx, p->m_sizeDst.cy);
cv::Mat srcMat(sizeSrcCV, CV_8UC3, p->m_psrcBuf);
cv::UMat dstUMat;
cv::resize(srcMat.getUMat(cv::ACCESS_FAST), dstUMat, sizeDstCV, 0, 0, CV_INTER_NN);
cv::imshow("Test", dstUMat); //Intermittent video?????

我使用fps 30播放(通过DirectShow图形)视频片段1920x1020。在opencv resize()之后,我得到一帧960x540。 Process Explorer显示GPU加载。但输出视频是断断续续的,为什么????

如果使用OCL(cv :: ocl :: setUseOpenCL(false);)关闭,则输出视频很好。

我的视频车:NVIDIA Geforce GTX 650; 操作系统:MS Windows 10; VS2017。

0 个答案:

没有答案