网络一定要好!!!!!!!!!!!!!!!!!!!!!!
一定要网好,网络一般情况下是最最重要的,网不好的时候,可能一些下载日志里的文件下载不下来,一定要确保网络条件好
首先虚拟机先安装好VMware tools哦,要不然无法共享剪贴板就很难受了
然后一定要换源,要不然下载巨慢
打开命令行:先更新一下
sudo apt-get update
sudo apt-get upgrade
安装mlocate
sudo apt-get install mlocate
安装cmake-gui
sudo apt-get install cmake-qt-gui
然后是一些依赖包,不管三七二十一,全给下了
sudo apt install openssl libssl-dev mingetty zip unzip git curl vim gcc g++ -y
sudo apt install socat zsh curl git vim make cmake -y
sudo apt install autojump -y
sudo apt-get install -y libtiff5-dev libeigen3-dev
sudo apt install -y git gcc g++ make cmake libgtk2.0-dev libgoogle-glog-dev
sudo apt install -y libtesseract-dev libgtkglext1 libgtkglext1-dev ffmpeg
sudo apt install -y libv4l-0 libv4l-dev
sudo apt install -y liblapacke-dev libopenblas-dev libgtk-3-dev libgstreamer-plugins-base1.0-dev
sudo apt install -y libgstreamer1.0-dev libavresample-dev libgphoto2-dev libdc1394-22-dev
sudo apt-get install -y build-essential make cmake cmake-curses-gui git g++ pkg-config curl
sudo apt-get install -y libavcodec-dev libavformat-dev libavutil-dev libswscale-dev libeigen3-dev libglew-dev libgtk2.0-dev
sudo apt-get install -y libdc1394-22-dev libxine2-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
sudo apt-get install -y libjpeg8-dev libjpeg-turbo8-dev libtiff-dev libpng-dev
sudo apt-get install -y libxvidcore-dev libx264-dev libgtk-3-dev
sudo apt-get install -y libatlas-base-dev libopenblas-dev liblapack-dev liblapacke-dev gfortran
sudo apt-get install -y qt5-default
sudo apt-get install -y python3-dev python3-testresources
sudo apt-get install -y libcanberra-gtk-module
然后下载opencv和opencv-contrib
wget -O opencv.zip https://github.com/opencv/opencv/archive/3.4.1.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/3.4.1.zip
unzip opencv.zip
unzip opencv_contrib.zip
在你的主页面会得到两个文件夹
进入opencv-3.4.1
cd opencv-3.4.1
mkdir build
cd build
cmake-gui ..
然后会弹出CMake的图形化界面,在上方的两个路径里面,
一般情况下会设置好的,
如果没设置的话,选择好代码所在文件夹的路径和要安装的路径
点击左下方的Configure按钮,选择Unix Makefiles,
选择Use default native compilers(默认),
然后点击Finish
需要下载一些文件,要等待一段时间。然后CMake即载入默认配置
一定不要着急,看着不动可能是在下载一些东西,别着急
在CMAKE_BUILD_TYPE 值处输入RELEASE,其他保持不变(如果已经存在就不必修改)。
在OPENCV_EXTRA_MODULES_PATH处,选择输入目录
然后选择opencv_contrib-3.4.1 文件夹中的modules文件夹
eg:/home/ubuntu64/opencv_contrib-3.4.1/modules
OPENCV_ENABLE_NONFREE 选中(SURF 专利问题)
点击Generate生成配置文件
这里也不要着急,也是需要时间的
接着,进入到build文件夹下
cd opencv-3.4.1
ls
cd build
sudo make -j4 (后面的数字是编译线程数,加快编译速度的,看自己配置)
这里可能会出现几个错误,一般情况下都是文件路径用错
/home/ubuntu/opencv-3.4.1/modules/stitching/include/opencv2/stitching/detail
/matchers.hpp:52:12: fatal error: opencv2/xfeatures2d/cuda.hpp: 没有那个文件或目录
还有可能是别的文件啥的,都是一个解决办法:
先找到这个文件夹/home/ubuntu/opencv3.4.1/modules/stitching/include/opencv2/stitching/detail/matchers.hpp
打开,找到那一行,然后复制错误的头文件,比如这种情况,复制cuda.hpp,
然后打开文件管理搜索这个文件,右键属性,复制路径,粘贴到matchers.hpp的相同位置即可
还有一种是缺少一个文件
fatal error: boostdesc_bgm.i: 没有那个文件或目录 #include "boostdesc_bgm.i"
文件我放到这个连接下了,下载后解压,然后将里面的文件全都拖到报错的文件夹下即可
链接:https://pan.baidu.com/s/1eGegNQ7Hv4WfvRkjAIeaOw
提取码:dupf
还有一种是编译到98%的时候的一个错误,可以看这篇文章
https://blog.csdn.net/qq_52926110/article/details/122730891?spm=1001.2014.3001.5501
继续编译
sudo make -j4
sudo make install
配置环境变量
sudo gedit /etc/ld.so.conf.d/opencv.conf
添加到最后:/usr/local/opencv-3.4.1/lib
sudo ldconfig
sudo gedit /etc/bash.bashrc
添加:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/opencv4/lib/pkgconfig
export PKG_CONFIG_PATH
保存退出
source /etc/bash.bashrc
sudo updatedb
配置生效
完成即可
使用时只需要包含工程文件即可
INCLUDEPATH += /home/ubuntu64/opencv-3.4.1/include \
/home/ubuntu64/opencv-3.4.1/include/opencv \
/home/ubuntu64/opencv-3.4.1/include/opencv2
LIBS += /usr/local/lib/lib*
感谢