只提tips,不做教程:
0.darknet中出现stream stop!一定先安装ffmpeg,(
conda install -c conda-forge ffmpeg
)并在编译时进行-D,参考darknet用的issue
安装参考:Ubuntu18安装Opencv3.4.6和Opencv_contrib3.4.6_苏瓜皮的博客-CSDN博客
1.下载opencv-3.4.13与opencv_contrib-3.4.13,版本对应即可。
2.放在同一文件夹下,方便寻找。(不放在也无所谓,编译可以找到即可)
3.mkdir,cd命令一致。
5.关键在于cmake
cmake -D CMAKE_BUILD_TYPE=Release -D WITH_TBB=ON -D WITH_V4L=ON -D WITH_QT=ON -D WITH_OPENGL=ON -D WITH_CUDA=ON -D ENABLE_FAST_MATH=1 -D CUDA_FAST_MATH=1 -D CUDA_NVCC_FLAGS="-D_FORCE_INLINES" -D WITH_CUBLAS=1 CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=/home/**/opencv/opencv_contrib-3.4.13/modules -DOPENCV_GENERATE_PKGCONFIG=ON ..
opencv额外的模块地址。
参考:ubuntu16.04下opencv3.3 GPU(CUDA)加速_cocoaqin的博客-CSDN博客ubuntu16.04下opencv3.3 GPU(CUDA)加速
安装OpenCV时提示缺少boostdesc_bgm.i文件的问题解决方案: 安装OpenCV时提示缺少boostdesc_bgm.i文件的问题解决方案 - zhanghongbo - 博客园(网站2021/03/23我看到在整改)
思路也很简单,找到对应的哈希值以及下载地址,通过迅雷很好下载,然后放到相应的文件夹下(cmake下载时会有一个暂存文件夹以及最终文件夹,一定要放到下载暂存.cache的文件夹下,其中找到类似于xfeatures2d等,里边会有一个0kb大小的文件,按照命名规则进行重命名,按照CMakeDownloadLog.txt中的链接利用迅雷进行文件的下载及替换,直接放到最终文件夹下会造成无法检测到,并起不到作用。),命名规则是哈希值+文件名,一一对应上即可。最近没有安装opencv,下一次安装时会补上这一部分窟窿,写出更详细的方案。利用别人下载好的文件也可以,但是有可能会失效,最好的方法是找到链接利用迅雷下载,重命名文件名并进行替换,多cmake几次,就知道各个文件的哈希值及文件名了。
6.然后安装、配置即可。
成功安装后,使用以下程序未能验证,分析可能是因为环境不正确,没有添加g++中。
using namespace std;
#include "opencv2/opencv.hpp"
#include "opencv2/core/cuda.hpp"
#include "opencv2/core.hpp"
#include "opencv2/cudaarithm.hpp"
#include "opencv2/cudafilters.hpp"
#include "opencv2/cudaimgproc.hpp"
#include "opencv2/highgui.hpp"
using namespace cv::cuda;
int main()
{
cv::cuda::printCudaDeviceInfo(cv::cuda::getDevice());
int num_devices = cv::cuda::getCudaEnabledDeviceCount();
cout<<num_devices<<endl;
return 0;
}
参考:Ubuntu安装opencv 为调用gpu模块_weixin_30294021的博客-CSDN博客
https://blog.csdn.net/weixin_43229347/article/details/88956198 (安装了anaconda也不用卸载,将~/.bashrc中的anaconda屏蔽掉即可。使用时再取消注释,安装opencv有一个引用错误可用此解决,并安装一个依赖sudo apt-get install libpng16-16)
https://www.nps.ink/384004.html
参考:安装cudnn8.0报错_AI视觉爱好者的博客-CSDN博客
-D错误:Ubuntu使用cmake报错_csdn_funquiz的博客-CSDN博客
darknet中nvcc not found错误,将makefile中的NVCC路径改成绝对路径即可。
参考:Darknet - YOLO - /bin/sh: 1: nvcc: not found - it610.com
错误:Could not find a package configuration file provided by "Qt5Widgets"
安装
sudo apt-get install qtbase5-dev
参考:Could not find a package configuration file provided by "Qt5Widgets"_叶轮回的博客-CSDN博客
卸载opencv,可参考,运行uninstall,rm -rf即可 ubuntu下彻底卸载opencv的方法_跨越海的风的博客-CSDN博客_ubuntu卸载opencv
安装opencv报错/usr/bin/ld: warning: libpcre.so.1, needed by /home//anaconda3/lib/libglib-2.0.so.0 参考:安装opencv报错/usr/bin/ld: warning: libpcre.so.1, needed by /home//anaconda3/lib/libglib-2.0.so.0 - 灰信网(软件开发博客聚合)
错误:Ubuntu的ldconfig详解(解决*.so不是符号连接) 参考Ubuntu的ldconfig详解(解决*.so不是符号连接)_langb2014的博客-CSDN博客_ldconfig不是符号连接
安装cudnn8.0报错_AI视觉爱好者的博客-CSDN博客
安装cudnn https://blog.csdn.net/public669/article/details/98470857
是include和lib64全部复制并赋予权限
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
新版本不输出很正常,因为需要 cudnn_version.h