opencv - CL_INVALID_COMMAND_QUEUE opencl

标签 opencv opencl

我正在研究在opencv中对某些图像应用meanshift的项目,经过四到五次尝试后,我收到此错误,我尝试了诸如关闭配置之类的操作,等等,但是它们都不起作用。任何帮助感激它。我的opencv 2.4.9和我的图形购物车是NVIDIA GeForce 310。

OpenCV Error: Gpu API call (CL_INVALID_COMMAND_QUEUE) in openCLMemcpy2D, file /tmp/buildd/ros-hydro-opencv2-2.4.9-2precise-20140617-1410/modules/ocl/src/cl_operations.cpp, line 227
[ERROR] [1405642960.704963701]: Exception thrown while processing service call: /tmp/buildd/ros-hydro-opencv2-2.4.9-2precise-20140617-1410/modules/ocl/src/cl_operations.cpp:227: error: (-217) CL_INVALID_COMMAND_QUEUE in function openCLMemcpy2D

[ERROR] [1405642960.705466283]: Service call failed: service [/jur_segmentation_interaction] responded with an error: /tmp/buildd/ros-hydro-opencv2-2.4.9-2precise-20140617-1410/modules/ocl/src/cl_operations.cpp:227: error: (-217) CL_INVALID_COMMAND_QUEUE in function openCLMemcpy2D

=================>代码
/// Applying MeanShift
cv::ocl::oclMat ocl_image;
cv::Mat res_mean;

// Converting to CV_8UC4
cv::Mat _img_conv;
cvtColor( _img , _img_conv , CV_BGR2BGRA );

ocl_image.upload(_img_conv.clone());

cv::ocl::meanShiftSegmentation( ocl_image.clone() , res_mean , _sp , _sr , _mean_size );
//cv::ocl::finish();

====================> opencl配置:
cv::ocl::DevicesInfo dev_info;
cv::ocl::getOpenCLDevices( dev_info );

/// Platform Info
cv::ocl::PlatformsInfo plat_info;
cv::ocl::getOpenCLPlatforms( plat_info );

cv::ocl::setDevice( dev_info[0] );

最佳答案

有时在单独的线程中调用代码时发生。

关于opencv - CL_INVALID_COMMAND_QUEUE opencl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24815608/

相关文章:

python - 如何在 Jupyter 笔记本上导入 openCV?

c++ - OpenCL 文件无法在 OS X 上编译

OpenCL:GPU 上的 32 位和 64 位 popcnt 指令?

OpenCL:通过 CL_MEM_USE_HOST_PTR 传递给内核的变量的设备/主机内存一致性

cuda - GPU从CPU读取还是CPU写入GPU?

python - OpenCV Python 中的 phaseCorrelate 函数

image-processing - 一组3D模型点与其图像投影之间的对应关系

c++ - 可以从播放中更改 AlternateViewPointCap 或 MirrorCap

java - 使边界框与另一个边界框相等 : Opencv , Android

c++ - OpenCL,是否可以直接写入本地内存?