为什么在OpenCV4.X出了n多个版本的时候, 我要来搭建3.X, 无他, 就是我目前的一些工程要调用的库需要3.X, 不然的话, macOS下直接brew install opencv就完事了, 我还写啥? 而且另一方面就是homebrew对老版本的安装真的不是很友好.
首先如果是我, 会用ssh访问Ubuntu, 所以要先安装下ssh.
sudo apt install net-tools
sudo apt-get install openssh-server
然后补一些必要的库:
sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
用wget下载OpenCV3.X, 这里是3.4.7
sudo apt-get install wget
wget https://github.com/opencv/opencv/archive/3.4.7.zip
之后解压这个zip包, 进入解压目录, 新建build文件夹
mkdir build ; cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D PYTHON_DEFAULT_EXECUTABLE=/usr/bin/python3 -D BUILD_opencv_python3=ON -D BUILD_opencv_python2=OFF ..
cmake这里需要说一下, /usr/local是安装路径, 可以修改. 然后, 后面一大串的目的就是编译的时候, python默认用python3.
然后开始编译和安装.
sudo make -j2
sudo make install
之后如果你用python, 你需要用pip3下载opencv-python, 如果你是C++, 就可以跳过.
sudo apt install python3-pip
pip3 install opencv-python
运行python3, 输入import cv2, 无错误就是成功.
官方提供了一个打开摄像头的测试用例, 进入如图目录, 编译运行.
cmake .
make
./opencv_example
或者, 你可以用g++嘛. 注意不是单引号', 是波浪线下面那个点`.
g++ example.cpp `pkg-config opencv --libs --cflags opencv`
当然, 可以用自己的案例. 比如这里, 我用了一个Ransac算法, 新建build目录, 然后编译运行, 也完全ok.