赞
踩
主要安装docker,编译opencv
1.同一局域网下面,可以这样连接
2.1安装docker
或者这个
2.2加载镜像文件,在镜像文件夹目录那里
docker load -i docker load -i 18.04-cuda11.1-runtime-Base-image-V201211.tar
docker run -di --name=ubuntu18 dd42bd239451
2.3有nvidia的还需要安装nvidia-docker
这个里面的第三步。
2.4确保自己的系统已经成功安装 cmake、g++、gcc
2.5运行
sudo nvidia-docker run -d --privileged -ti -v ~/18.04-11.1-runtime-app:/data -v /etc/timezone:/etc/timezone:ro -v /etc/localtime:/etc/localtime:ro -p 0.0.0.0:8689:8689 --runtime=nvidia --restart unless-stopped --cap-add=SYS_PTRACE -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all --ipc=host --name 18.04_11.1_rumtime_wzw nvidia/cuda:11.1-cudnn8-runtime-ubuntu18.04
解释
-v ~/18.04-11.1-runtime-app:/data#将自己的本地文件夹映射到docker里面的data文件夹 -v的都是文件夹映射
在映射文件夹的时候注意使用绝对路径!如:
-v /home/hzq/docker:/data
222222。将这个名字改为自己想要的名字
--name 18.04_11.1_rumtime_wzw
如
--name hzq_docker
33333.这个是前面2.2执行后可以通过sudo docker ps
来查看
nvidia/cuda:11.1-cudnn8-runtime-ubuntu18.04
我的是
所以我需要改为
brifactory/18.04:11.1-runtime-base-ffmpeg
2.6打开容器:BrilliantFactory为自己容器的名称,我的是之前的hzq_docker
sudo nvidia-docker exec -it BrilliantFactory /bin/bash
安装之前先检查以下驱动和cuda安装好了没
检查驱动
nvidia-smi
nvcc -V
注意高版本的cudnn安装看下面链接的最后一行
如果都有输出就是安装成功了的。注意这里面的cudnn的安装坑。
3.1编译之前的准备
先在网上搜ubuntu18 opencv 等关键词,将需要的依赖项都提前安装好,如果后面报错了,后面又在补充。
依赖库(都看着弄)
a
b
c
d(这个里面比较详细,但是没有完全按照他的来)
e
f
安装这个:OpenBLAS
sudo apt-get install libopenblas-dev
sudo apt-get install doxygen
sudo apt-get install libgtk-3-dev
安装完了过后关机重启!
3.2然后在编译
cmake -D CMAKE_INSTALL_PREFIX=install -D OPENCV_EXTRA_MODULES_PATH="/data/18.04-cuda11.1-devel-Base-source-v201210/source/opencv_contrib-4.5.0/modules" -D WITH_CUDA=ON -D WITH_FFMPEG=ON -D ENABLE_CXX11=ON -LA ..
只需要改以下路径就可以了,运行这个命令是在opencv-4.5… 里面的build文件夹下面运行的。
在cmake的时候看一下输出中的cuda是否为YES(这个在中间位置)
还需要查看cmake的输出,重头到下面这个图
都一行一行的看,主要看有没有报错,有没有失败或者错误的,然后在一个一个的百度,找方法,因为我的错误太多了,就没有记录。(人生第一次知道,原来一长串的输出还需要看一的。mmp)
感觉差不多(也就百度得不能再百度了),就执行下面一个步骤。
3.3然后在 (自己用的是make install)make -j8
或者make -j4
都可以,建议用j4。
漫长的等待
(警告不管,错误伤心,得返回找cmake的错误,再重新cmake)
补充:还可以使其在后台编译:nohup make -j4 &
,使用这个的原因是因为自己是ssh链接的设备,没有使用显示屏之类的,所以自己要是下班了,把ssh强行断开后,make就自动停止了,不是用这个就需要自己一直ssh连着。
3.4还是在编译
sudo make install
3.5这是防止后面测试出问题
安装1
安装2
3.6安装好了过后将库添加到路径或者参考这个
3.6.1添加后还是出错
解决方案1
3.6.2
问题://usr/lib/x86_64-linux-gnu/libblas.so.3:对‘gotoblas’未定义的引用
解决方案。
4.验证,从里面的第二步开始看,应该是这样的。
(5.22未成功)
(5.23成功(但是摄像头未一直是打开的状态))
拯救
1这个里面创建的opencv.pc文件那里开始:还是不行
打算卸载cuda重新安装一次
5.24补充
又把前面的有些步骤删除了
因为在运行这些里面的代码的时候,不删除又会有问题
https://blog.csdn.net/hdt999r/article/details/96432378
https://blog.csdn.net/huojh1/article/details/52736836
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。