没错我最近又在看leg_detector包(ros-people),(再吐槽一下这个包为什么我找不到相关的文章鸭)最近打编译看到cmakelist里需要opencv3.3.1,安装opencv的时候就出了特别多的bug,最严重的就是找不到文件下载源,基本上每次都到一半卡住……(官网git clone正在下载中)
官网说明
https://docs.opencv.org/3.3.1/d7/d9f/tutorial_linux_install.html
如果不想看,可以直接在下面列表中找
https://opencv.org/releases.html
先大概说一下流程
官网其实说的很明白
首先安装依赖,(复制中括号外的)
[compiler] sudo apt-get install build-essential
[required] sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
[optional] sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
下载代码分两种,一种在上面官网直接下载;另外一种就是git clone,注意下面两个都要安装
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git
两个都下完之后,就可以用cmake装了
可以建一个文件夹,以opencv为例
cd ~/opencv
mkdir build
cd build
到了OpenCV/build下
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
如果报错,用下面这行
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local ..
这里可选Python和java的包,如果要安装的话的可以加入,格式也是cmake -D
如果不想看可以参考另一篇博主int93的文章(https://blog.csdn.net/Int93/article/details/79056179 )
请核对一下路径
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D PYTHON3_EXECUTABLE=/usr/bin/python3 \
-D PYTHON_INCLUDE_DIR=/usr/include/python3.5 \
-D PYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.5m.so \
-D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/local/lib/python3.5/dist-packages/numpy/core/include \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D INSTALL_C_EXAMPLES=OFF \
-D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-3.3.1/modules \
-D PYTHON_EXECUTABLE=/usr/lib/python3 \
-D BUILD_EXAMPLES=ON ..
下一步,执行make
make
接着还有一步可选
cd ~/opencv/build/doc/
make doxygen
最后就可以
sudo make install
到这里就是安装完成了。
官网的测试方法
git clone https://github.com/opencv/opencv_extra.git
<cmake_build_dir>/bin/opencv_test_core
博主int93的测试方法
import cv2
cv2.__version__
因为我还在下载源码卡着……这只是写一下流程。如果有任何问题我会回来补的……
2019.8.5
为了学习十四讲,发现第七讲时候黑屏,但是我电脑上已经装了opencv3,开始以为出错了。重新装3.4.3,继续bug。
主要是ippicv_2017u3_lnx_intel64_general_20180518.tgz和face_landmark_model.dat两个文件的问题,还有最后cmake的参数问题。稍后我会把两个文件的链接放上。
cmake的参数最终放弃了,用的链接(https://blog.csdn.net/qq_38446366/article/details/83012435)中的
cmake -D CMAKE_BUILD_TYPE=RELEASE -D PYTHON_DEFAULT_EXECUTABLE=$(python -c "import sys; print(sys.executable)") -D PYTHON3_EXECUTABLE=$(python -c "import sys; print(sys.executable)") -D PYTHON3_NUMPY_INCLUDE_DIRS=$(python -c "import numpy; print (numpy.get_include())") -D PYTHON3_PACKAGES_PATH=$(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())") -D CMAKE_CXX_FLAGS="-std=c++11" -D CUDA_NVCC_FLAGS="--compiler-options "-std=c++03"" ..
我这边报了很多waring主要是cuda的变异里一个参数的错误定义(pch),最终也无法解决。所以调过,不影响使用……
最后说一下,装完发现,依然不能用。结果是第七讲cmakelist里的find_package问题,给的是3.1,改成自己的版本,或者改成3就行了……