首先能不用虚拟机就不用虚拟机,纯逗比玩意。没有显卡!!!重要的事说三遍!!!cuda等等全用不了!!!
好了下面是已经被虚拟机坑了的内容:
目录
第一步:下载依赖文件
第二步:下载 opencv 和 opencv_contrib 源码
第三步:解压缩包
第四步:移动文件
第五步:生成 makefile 文件
第六步:进行 make 编译
第七步:配置路径
第八步:测试 opencv
第一步:下载依赖文件
这一步非常重要,如果是缺少某个依赖文件,编译 过程也不会出错,但是在使用 opencv 函数的时候就是提示错误,只能删了重新编译,非常的坑。 所以一定要先下载依赖文件。
通过以下命令来安装依赖文件。
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config
libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2
libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev
libdc1394-22-dev
sudo apt-get install libavcodec-dev libavformat-dev
libswscale-dev libv4l-dev liblapacke-dev
sudo apt-get install libxvidcore-dev libx264-dev
sudo apt-get install libatlas-base-dev gfortran
sudo apt-get install ffmpeg
第二步:下载 opencv 和 opencv_contrib 源码
从 GitHub 下载 opencv 和 opencv_contrib 源码,本文使用4.5.5版本。contrib是附带的必要。
第三步:解压缩包
通过命令解压 opencv 和 opencv_contirb
tar -zxvf opencv-4.5.5.tar.gz
tar -zxvf opencv_contirb-4.5.5.tar.gz
然后可以得到这样的两个文件夹:
第四步:移动文件
通过命令把 contrib 文件移动到 opencv 文件夹里面:
sudo cp -r opencv_contrib-4.5.5 opencv-4.5.5
通过命令,在 /opencv的 外部新建一个文件夹 bulid,然后进入这个文件夹。
sudo mkdir build
cd bulid
第五步:生成 makefile 文件
使用命令生成 makefile 文件,这里的命令不要原封不动的粘贴复制,要根据自己的路径进行修改
cmake -DOPENCV_EXTRA_MODULES_PATH=../opencv/opencv_contrib/modules ../opencv
这里有两个文件下不动,根据报错信息,找到链接,用网页下载就行了,几十兆的东西。
再根据报错信息,将这两个文件放进/opencv外部新建的/load文件夹中,同时更改/opecv文件夹内需要这两个文件的CMakelist.txt,将下载链接替换为本地目录就行了。不会就百度,有攻略。
第六步:进行 make 编译
我的虚拟机是 4 核的所以是 j4,这个根据自己的机子进行选择,多核心 编译能加快速度。大概需要 30 多分钟吧。
sudo make -j4
sudo make install
第七步:配置路径
配置路径,执行下面命令配置环境变量,注意如果你当前使用的是 fish shell,或者别的 shell,请退出到 bash,不然配置会出问题。
sudo vim/etc/ld.so.conf.d/opencv.conf
这个时候你可能打开文件可能是空白的,没有关系,在文件末尾添加保存并退出 /usr/local/lib 执行生效命令:
sudo ldconfig
继续打开:
sudo vim /etc/bash.bashrc
在文件末尾添加写入:
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local /lib/pkgconfig
保存退出。
执行更新命令:
source /etc/bash.bashrc sudo updatedb
整个时候就完成了整个 opencv 的编译配置。完结散花✧ (≖ ◡ ≖ ✿)
第八步:测试 opencv
opencv 内部集成了很多测试 demo,可以通过执行这些 demo 看是否 完成 opencv 的配置。 通过命令进入到 demo 中:
cd opencv-4.2.0/samples/cpp/example_cmake
因为虚拟机可能使用不了摄像头的原因,本来example就是显示一个图片,直接用就行了,进行编译操作。
sudo mkdir bulid
cd bulid
sudo cmake ..
sudo make
编译完以会得到一个可执行文件,执行后就可以看见图片了。
好了,以上全部是在 Linux 下安装并编译 opencv 的全部过程,虽然坑 有点多,但是多操作几次就习惯了。如果在测试的时候还是没办法使用 opencv,请认真比对我给出的过程。
第九步:问题 opencv
opencv‘ found问题:sudo apt install libopencv-dev
==============================================================
第十步:接下来是darknet
从git拿到darknet后,将makefile的opencv选项打开,然后简单的make,无报错。
下一个训练好的权重。
wget https://pjreddie.com/media/files/yolov3.weights
执行文件。
./darknet detect cfg/yolov3.cfg yolov3.weights data/person.jpg
部分参考链接:https://blog.csdn.net/m0_57532432/article/details/136581704
修改了实际遇到的问题。