1 首先当然准备两个不同版本opencv (比如2.4.9和3.1.0)
2 cmake-gui 设置 CMAKE_INSTALL_PREFIX
2.4.9 安装路径:/usr/local/opencv2
3.1.0 安装路径 :/usr/loacl/opencv3
3 安装
比如 按照2.4.9
新建build
cmake-gui ..
选择CMAKE_INSTALL_PREFIX /usr/local/opencv2
------------------------------------
一般情况下不能直接opencv 的环境写到bashrc,所以我们需要手动进行切换
当你需要使用opencv 2.4.9的话,在终端输入:
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/opencv2/lib/pkgconfig
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/opencv2/lib
生效:sudo ldconfig
当你需要使用opencv 3.1.0的话,在终端输入:
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/opencv3/lib/pkgconfig
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/opencv3/lib
5 CmakeLists.txt设置
opencv3.1.0 需要手动设置 寻找到opencv-config.cmake
set(CMAKE_PREFIX_PATH "/usr/local/opencv3/share/OpenCV")
原文链接:https://blog.csdn.net/u012986684/article/details/77490824
-----------------------------------------------------------------------
设置管理
一般情况下不能直接opencv 的环境写到bashrc,所以我们需要手动进行切换
当你需要使用opencv 2.4.9的话,在终端输入:
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/opencv2/lib/pkgconfig
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/opencv2/lib
生效
sudo ldconfig
当你需要使用opencv 3.1.0的话,在终端输入:
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/opencv3/lib/pkgconfig
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/opencv3/lib
原文链接:https://blog.csdn.net/u012986684/article/details/77490824
-----------------------------------------------------
https://blog.csdn.net/mhsszm/article/details/88558470
用此种方法安装有二个好处:
1) 就是在各个opencv版本可以来回自如的切换,并且十分容易移植。
比如说按上面的方法,我们已经make install两个版本的opencv在不同的文件夹下,如:
/home/install/opencv-2.4.10/build-install, /home/install/opencv-3.4.0/build-install
现在只要更改~/.bashrc就能在两个版本间自由切换。
#opencv3.4.0
export PATH=/home/oeasy/install/opencv-3.4.0/build_install/bin:$PATH
export LD_LIBRARY_PATH=/home/install/opencv-3.4.0/build_install/lib:$LD_LIBRARY_PATH
export PKG_CONFIG_PATH=/home/install/opencv-3.4.0/build_install/lib/pkgconfig
#opencv2.4.10
#export PATH=/home/oeasy/opencv-2.4.10/build_install/bin:$PATH
#export LD_LIBRARY_PATH=/home/install/opencv-2.4.10/build_install/lib:$LD_LIBRARY_PATH
#export PKG_CONFIG_PATH=/home/install/opencv-2.4.10/build_install/lib/pkgconfig
切换后,source ~/.bashrc,就好了。
2) 十分容易移植
因为编译opencv要很久的时间,按如上方法编译可以做到一个版本编译一次,能在同平台下的多台电脑上轻易部署。
到一台新电脑里,只要将build_install这个文件夹下的所有东西复制。然后在新电脑上相应的 ~/.bashrc加上环境变量,就ok了。
不止是opencv 像google的protobuf 也一样,涉及到多个版本的,要切换不同版本的,都可以按如上方法,可得长个心眼了。
原文链接:https://blog.csdn.net/mhsszm/article/details/88558470
----------------------------------------------------------------------
sudo gedit /etc/bash.bashrc
source /etc/bash.bashrc
pkg-config --cflags --libs opencv
pkg-config --modversion opencv
---------------------------------
source bin/activate
cd opencv4.1.1
cd opencv-4.1.1
cd samples/cpp/example_cmake
cmake .
----------------------------
g++ deep_sort_app.cpp -o deep_sort_111 `pkg-config --cflags --libs opencv`
=============================================
安装OPENCV
wget -O opencv_contrib.zip https://github.com/Itseez/opencv/archive/3.4.2.zip
wget -O opencv_contrib.zip https://github.com/Itseez/opencv_contrib/archive/3.4.2.zip
解压后将opencv_contrib-3.4.1移动道opencv-3.4.1文档目录下;
进入opencv-3.4.1文档,采用外部编译的方式,输入下列代码:
mkdir build;
cd build;
关键是cmake的代码,因为各位ubuntu的系统配置不尽相同,因此可以使用下列比较通用的代码:
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-DCMAKE_INSTALL_PREFIX=/usr/local/ \
-DINSTALL_PYTHON_EXAMPLES=ON \
-DINSTALL_C_EXAMPLES=ON \
-DPYTHON_EXCUTABLE=/usr/bin/python \
-DOPENCV_EXTRA_MODULES_PATH=/home/lxy/opencv/opencv-3.4.2/opencv_contrib-3.4.2/modules \
(3.1)创建build文件夹
mkdir build
cd build
(3.2)cmake一下
#cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
#cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=~/opencv-3.4.2/build/installed -DWITH_CUDA=OFF .. (建立opencv-3.4.2/build/installed这几个文件夹)
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local/opencv3.4.2 -D OPENCV_EXTRA_MODULES_PATH=/home/u/opencv-3.4.2/opencv_contrib-3.4.2/modules ..
注意:如果已经在新的文件夹中编译,但是还会出现之前的报错,把cmakecache.txt删了再编译就可
不报错,继续。。。
(3.3)make一下
sudo make
sudo make install #执行完毕后OpenCV编译过程就结束
(3.4)配置一些OpenCV的编译环境
第一步:系统环境
1.首先将OpenCV的库添加到路径,从而可以让系统找到:
sudo gedit /etc/ld.so.conf.d/opencv.conf
2.只需要在文件末尾添加:
/usr/local/lib
3.使得刚才的配置路径生效:
sudo ldconfig
第二步:配置bash
1.打开bash.bashrc
sudo gedit /etc/bash.bashrc # sudo gedit ~/.bashrc
2.在最末尾添加
#@多版本OpenCV切换 https://blog.csdn.net/learning_tortosie/article/details/80594399
#export PKG_CONFIG_PATH=~/opencv-3.4.1/build/installed/lib/pkgconfig
#export LD_LIBRARY_PATH=~/opencv-3.4.1/build/installed/lib
export PKG_CONFIG_PATH=/usr/local/opencv3.4.2/lib/pkgconfig
export LD_LIBRARY_PATH=/usr/local/opencv3.4.2/lib
3.使配置生效
source /etc/bash.bashrc # source ~/.bashrc
(3.5)查询OpenCV版本
pkg-config --modversion opencv # 如果输出3.4.2,就表明配置成功。 如果前面没报错,输出不是3.4.2,可能是配置没生效,重启电脑
pkg-config opencv --modversion
==========================================
解决pip安装第三方包出现socket.timeout: The read operation timed out超时问题
pip3 install opencv-contrib-python==3.4.5.20
pip3 --default-timeout=100 install opencv-contrib-python==3.4.5.20