ubuntu---记录.opencv多版本管理与切换
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
【. . . . . .本博客仅作个人生活、工作、学习等的日常记录。说明: (1) 内容有参考其他博主、网页等,有因“懒”直接粘贴来,会备注出处。若遇雷同,或忘备注,并无故意抄袭之意,请诸“原主”谅解,很感谢您的辛勤"笔记"可供本人参考学习。 (2) 如遇同行,有参考学习者,因个人学识有限,不保证所写内容完全正确。您对本博文有任何的意见或建议,欢迎留言,感谢指正。 (3) 若您认为本主的全博客还不错,可以点击关注,便于互相学习。 (4) 感谢您的阅读,希望对您有一定的帮助。欢迎转载或分享,但请注明出处,谢谢。. . . . . .】
【作者: Carole0904 ; 出处: https://www.cnblogs.com/carle-09/ 】