本文介绍: opencv大多数只使用到了cpu的版本,实际上对于复杂的图像处理过程用cuda(特别是高分辨率的图像)可能会有加速效果。
opencv大多数只使用到了cpu的版本,实际上对于复杂的图像处理过程用cuda(特别是高分辨率的图像)可能会有加速效果。是否需要使用cuda需要思考:
1、带cuda的opencv安装
这里的前提是你的nvidia驱动、cuda以及cudnn都安装完成,可以正常使用。
首先下载版本一致的opencv和opencv-contrib(cuda库所在包),然后解压待用。
然后查询你显卡的Compute Capability,进入opencv-4.8.1后创建build文件夹,终端在build中打开后,执行:
注意,CUDA_ARCH_BIN
是你查询到自己显卡的Compute Capability,OPENCV_EXTRA_MODULES_PATH
指向你的opencv_contrib-4.8.1/modules。(最后的..
不能省略)
可以看到成功检测到我的11.8的cuda,但是没有cuDNN。不知道是不是新版的原因,我安装好cudnn后通过命令cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
查询cudnn版本没有任何输出,但是确实存在cudnn.h
,并在在使用cuda时也没有问题,就没有(后面在opencv使用cuda也没有报错)。
然后:sudo make –j15
,表示使用15个线程make,因cpu而异。
最后sudo make install
。
2、测试
3、在gpu上旋转图像
4、解决数据上传和下载的耗时
5、Mat创建优化
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。