OpenCV内部有提供使用OpenCL的加速接口,如果我想用OpenCL进行加速,我需要准备哪些环境?OpenCL库? 显卡驱动? 该如何操作?
1条回答 默认 最新
疯狂的蕉尼基 2022-05-13 08:57关注编译opencv 的时候会有With-OpenCl的选项,选中, 如果是Linux 下可能需要下载对应官方的linux 驱动和SDK
另外,可以提供一个demo 用于测ocl 是否正常调用#include <stdio.h> #include <iostream> #include <opencv2/opencv.hpp> #include <opencv2/core/ocl.hpp> using namespace std; using namespace cv; const string filename = "./lena.jpg"; int main(int argc, char **argv) { //use opencl ocl::setUseOpenCL(true); //time int64 start=0,end=0; UMat img,gray; img = imread(filename, 1).getUMat(ACCESS_READ); cvtColor(img,gray,COLOR_BGR2GRAY); start = getTickCount(); GaussianBlur(gray, gray, Size(7,7), 1.5); end = getTickCount(); printf("Guass time: %f ms\n", 1000.0*(end - start)/getTickFrequency()); start = getTickCount(); Canny(gray, gray, 0, 50); end = getTickCount(); printf("Canny time: %f ms\n", 1000.0*(end - start)/getTickFrequency()); imshow("edges",gray); waitKey(0); return 0; }本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录