caffe安装_3.opencv安装

本文档详细介绍了在Ubuntu系统中安装OpenCV3.4.0及其依赖,包括使用opencv_contrib,以及后续安装Caffe的步骤。涉及配置环境变量、解决编译错误和使用pkg-config工具的说明。最后提到了为避免Python环境混乱,建议使用虚拟环境。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

主要参考了以下两篇:

https://blog.youkuaiyun.com/abc869788668/article/details/78351807

https://github.com/BVLC/caffe/wiki/OpenCV-3.2-Installation-Guide-on-Ubuntu-16.04

最主要参考为opencv官网文件:

https://docs.opencv.org/3.4.0/d7/d9f/tutorial_linux_install.html

 


一、安装各种依赖项
 

sudo apt-get install --assume-yes build-essential cmake git
sudo apt-get install --assume-yes pkg-config unzip ffmpeg qtbase5-dev python-dev python3-dev python-numpy python3-numpy
sudo apt-get install --assume-yes libopencv-dev libgtk-3-dev libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libtiff5-dev libjasper-dev
sudo apt-get install --assume-yes libavcodec-dev libavformat-dev libswscale-dev libxine2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev
sudo apt-get install --assume-yes libv4l-dev libtbb-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev
sudo apt-get install --assume-yes libvorbis-dev libxvidcore-dev v4l-utils python-vtk
sudo apt-get install --assume-yes liblapacke-dev libopenblas-dev checkinstall
sudo apt-get install --assume-yes libgdal-dev

二、解压opencv和opencv_contrib

(将contrib解压到opencv解压的文件夹中,opencv_contrib-3.4.0作为opencv-3.4.0的子文件夹)


三、在opencv-3.4.0下创建build文件夹存放编译结果文件


四、cd build然后输入

sudo cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D INSTALL_C_EXAMPLES=OFF -D INSTALL_PYTHON_EXAMPLES=ON  -D PYTHON_INCLUDE_DIR=/home/yxian/anaconda2/include/python2.7/ -D PYTHON_LIBRARY=/home/yxian/anaconda2/lib/libpython2.7.so -D PYTHON_PACKAGES_PATH=/home/yxian/anaconda2/lib/python2.7/site-packages/ -D BUILD_opencv_python2=ON -D BUILD_opencv_python3=OFF -D BUILD_NEW_PYTHON_SUPPORT=ON  -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D  WITH_CUDA=ON -D ENABLE_FAST_MATH=1 -D CUDA_GENERATION=Auto CUDA_FAST_MATH=1 -D WITH_CUBLAS=1 -D INSTALL_CREATE_DISTRIB=ON -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-3.4.0/modules/ ..

如果觉得这个麻烦的,可以sudo apt-get install cmake-gui,用cmake的图像界面直接选择,然后点击Configure,应用刚才的修改并且将修改内容更新至 build 目录下的 CMakeCache.txt 中。然后点击 Generate,更新 Makefile


五、make编译

sudo make -j8


六、安装

sudo make install
cd ~
sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig
sudo apt-get update

重启,到build目录下sudo apt-get install checkinstall , sudo checkinstall用来管理安装和卸载
当你想卸载当前的opencv时,直接在build执行sudo dpkg -r build即可


七、配置环境变量

在文件/etc/ld.so.conf中添加 /usr/local/lib(这个跟安装目录有关, {CMAKE_INSTALL_PREFIX}/lib
sudo vim /etc/profile加入下面两行保存                                  

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib


source /etc/profile

sudo vim~/.bashrc加入下面两行保存                                    

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
source ~/.bashrc
sudo ldconfig

编译出来的cv2.so在文件夹/home/yxian/opencv-3.4.0/build/lib/下面,通过使用命令:

sudo ln -s /home/yourname/opencv-3.4.0/build/lib/cv2.so  /home/yourname/anaconda2/lib/python2.7/site-packages/


在anaconda安装文件夹下建立cv2.so的软连接,然后在python下执行import cv2

八、caffe设置

在caffe目录下make clean,sudo vim Makefile.config更改成
OPENCV_VERSION := 3
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial /usr/local/share/OpenCV/3rdparty/lib/
重新sudo make clean , sudo make all 然后make runtest测试


九、使用

之后如果需要编译依赖opencv的代码

第一种方法:Command Line(使用命令行参数的方法)

    xx.c:gcc  `pkg-config --cflags --libs opencv`  -o  img_1  img_1.c
     xx.cpp:g++  `pkg-config --cflags --libs opencv`  -o  imgshow  imgshow.cpp
(其中`不是英文状态下的单引号,而是键盘上“~”一个键上的“ ` ”符号)

 

出错啦 !用上面命令会提示一堆的未定义引用,例如

对‘cv::VideoCapture::VideoCapture()’未定义的引用

需要xx.cpp:g++  `pkg-config --cflags --libs opencv`  -o  imgshow  imgshow.cpp更改命令为:

xx.cpp:g++  imgshow.cpp `pkg-config --cflags --libs opencv`  -o  imgshow 

 

在这里我稍微解释下这条命令的作用吧。
在上面的编译命令中我们其实用到了一个工具“pkg-config”,它主要有以下几个功能:
    检查库的版本号。如果所需要的库的版本不满足要求,它会打印出错误信息,避免链接错误版本的库文件。
    获得编译预处理参数,如宏定义,头文件的位置。
    获得链接参数,如库及依赖的其它库的位置,文件名及其它一些连接参数。
    自动加入所依赖的其它库的设置
所有有了这个工具之后我们的编译就很方便了(不过在此之前你要确保你安装的OpenCV的安装链接库文件的目录下有一个pkgconfig文件夹,在该文件夹里面有个opencv.pc的文件,其实这就是pkg-config下OpenCV的配置文件)。
      使用pkg-config时,选项--cflags 它是用来指定程序在编译时所需要头文件所在的目录,选项 --libs则是指定程序在链接时所需要的动态链接库的目录

第二种方法:使用OpenCV推荐的CMake工具(这个更棒)
step1:新建一个目录用于存放我们的代码和程序中要处理的相关图片。
step2:添加cmake工具编译时所需的文件CMakeLists.txt。
Step3:让后我们输入命令"cmake ."对当前的工程进行编译。
Step4:make

 

注意:编译出现问题,建议将build里面的文件(尤其cmakecach.txt)都清除掉重新设置参数核对参数,重新编译

 

后记:

在另外一个虚拟机机子上配置了不依赖于anaconda的opencv,环境ubuntu1804+opencv3.4.0,一样也是先一个个安装依赖项,然后对opencv源文件cmake,只要改下上面cmake命令里的一些路径即可,然后make、make install,然后做环境的配置就能使用了 !中间出了些问题,谷歌百度就能解决啦!

有一点需要注意到:编译好的库文件不在build下的include文件夹里,而是在usr/local/include里面 !可以对照windows下的编译结果看看有无差别,若有差别,在代码从windows下移植到linux下可能需要修改头文件。

 

然后有一点我比较在意,这篇https://www.pyimagesearch.com/2018/05/28/ubuntu-18-04-how-to-install-opencv/

提到了建一个虚拟的python环境,免得python配置乱了,感觉这个思想就非常的不错,独立的,不乱,以后有时间再鼓捣!

 

下一篇 caffe安装 https://blog.youkuaiyun.com/vahalla233/article/details/81120987

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值