在我们的项目中,我们决定迁移 OpenCL 以增强图像处理。迁移后该项目不起作用。因此,我们尝试了 OpenCL 的最小代码,并确定如果使用 OpenCV,该项目将无法运行。
例如
int main(){
cv::Mat mat;
std::vector<cl::Platform> all_platforms;
cl::Platform::get(&all_platforms);
std::cout <<"fertig.";
return 0;
}
在 cl::Platform::get() 崩溃。
terminate called after throwing an instance of 'cl::Error'
what(): clGetPlatformIDs
我用它编译了
gcc test.cpp -lOpenCl -lopencv_core -lopencv_highgui
如果我放出这个小命令行“cv::Mat mat”,一切都很好。所以有什么问题?
我正在使用英特尔 OpenCl 驱动程序:1.2-4.4.0.117。