caffe配置之opencv2.4.9和配置Makefile.config

7、安装opencv2.4.9
    这个地方坑也不少,用Python写代码用于图像处理时,常常要和opencv结合起来,所以需要安装opencv,我这里用的版本是2.4.9,Python版本是2.7。
    (1) 下载 opencv 源码。
    (2) 解压到任意目录
    unzip opencv-2.4.9.zip
    (3) 进入源码目录,创建release目录(或者 build 目录都行)
    cd opencv-2.4.9
    mkdir release
    (4) 可以看到在OpenCV目录下,有个CMakeLists.txt文件,这是用于编译opencv源码的,编译之前需要需要事先安装一些软件
    sudo apt-get install build-essential cmake libgtk2.0-dev pkg-config python-dev python-numpy libavcodec-dev libavformat-dev libswscale-dev
    (5) 进入release目录,安装OpenCV是所有的文件都会被放到这个release目录下
    cd release
    (6) 用cmake编译OpenCV源码,安装所有的lib文件都会被安装到/usr/local目录下
    cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
    make -j4  (-j4表示使用4个线程编译,可以大大加快编译速度)
    sudo make install
    这个地方,可能会遇到一些问题,如果啥事没发生,那真是太幸运了。
    a、第一个错误
    CMake Error at cuda_compile_generated_matrix_operations.cu.o.cmake:206 (message):
    Error generating
    /home/yy/opencv-2.4.9/build/modules/core/CMakeFiles/cuda_compile.dir/__/dynamicuda/src/cuda/./cuda_compile_generated_matrix_operations.cu.o
    make[2]: *** [modules/core/CMakeFiles/cuda_compile.dir/__/dynamicuda/src/cuda/./cuda_compile_generated_matrix_operations.cu.o] 错误 1
    make[1]: *** [modules/core/CMakeFiles/opencv_core.dir/all] 错误 2
    make: *** [all] 错误 2
    解决办法:
    输入:“cmake -D CMAKE_BUILD_TYPE=bulid -D CMAKE_INSTALL_PREFIX=/usr/local -D CUDA_GENERATION=Kepler ..”,即可解决!
    b、第二个错误
    因为我的电脑安装了GPU卡,因此OpenCV会自动编译CUDA相关的代码,可以直接关掉( 在cmake时加上-D WITH_CUDA=OFF ),
    但我需要编译。因此默认是打开的,因此在make时遇到以下错误:a storage class is not allowed in an explicit specialization。
    解决办法:
    打开错误的文件:
    vim /root/opencv-2.4.9/modules/gpu/src/nvidia/core/NCVPixelOperations.hpp,
    将其中template声明中的所有static全部删除。可以使用vim的全局替换,或者其他编辑工具全局替换即可(template<> static inline 替换为template<> inline ):
    在命令行下输入:%s/template<> static inline/template<> inline/g。
    最后重新执行以上命令。
    (7) 环境变量修改
    在/etc/ld.so.conf 文件中添加 /usr/local/lib , 然后执行:
    sudo ldconfig -v
    为程序指定openvc的头文件位置, 使用pkg-config命令来完成。首先在 /etc/profile 中添加:
    export  PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
    然后source生效:
    source /etc/profile
    再执行以下命令可以打印opencv的配置信息:
    pkg-config --libs opencv
    (8) 把Python与opencv建立连接
    编译安装好后的cv2.so,也就是python调用openc所需要的库,放在/usr/local/lib/python2.7/site-packages
    这个目录下,我们可以将这个目录添加到环境变量
    export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages
    这样便可以在python中 import cv2。
    (9) 测试
    在解压的opencv目录下找到 samples/c/build_all.sh,运行该文件:
    cd /root/opencv-2.4.8/samples/c/
    chmod a+x build_all.sh
    ./build_all.sh
    在这里又遇到一个问题
    /usr/bin/ld: cannot find -lcufft
    /usr/bin/ld: cannot find -lnpps
    /usr/bin/ld: cannot find -lnppi
    /usr/bin/ld: cannot find -lnppc
    /usr/bin/ld: cannot find -lcudart
    去网上找了许多解决/usr/bin/ld: cannot find -lxxx问题的资料,但是都没有解决。
    不过看到一些材料中说libcufft,libnpps,libnppi,libnppc,libcudart是cuda的库(cuda和opencv是有仇吧...),搜索/usr/local/cuda-7.0/lib64,
    果然发现了libcufft.so.7.0,libnpps.so.7.0,libnppi.so.7.0,libnppc.so.7.0,libcudarts.so.7.0,
    既然报错说是/usr/bin/ld: cannot find -lcufft,那是不是因为/usr/local/lib下面没有libcufft.so.7.0,libnpps.so.7.0,libnppi.so.7.0,
    libnppc.so.7.0,libcudarts.so.7.0的软连接?
    于是分别对上面几个文件建立软连接 sudo ln -s /usr/local/cuda-7.0/lib64/libcufft.so.7.0 /usr/local/lib/libcufft.so  
    再次进入opencv目录/samples/c/ 运行./build_all.sh 问题解决,不会再报错,然后运行./find_obj 会出现无比nice的测试结果。
    {
        参考:
        http://www.yanjiankang.cn/linux-install-opencv-on-ubuntu-or-redhat/
        http://blog.csdn.net/gongxs7/article/details/49131201
        http://blog.csdn.net/dyx810601/article/details/51579273
        http://blog.csdn.net/llp1992/article/details/50066983
    }
8、配置Makefile.config(参考:http://blog.csdn.net/autocyz/article/details/51783857)
    折腾到这一步,离成功就不远了,接下来就是配置之前搁置的Makefile.config,进入caffe根目录,使用vim编辑器打开Makefile.config。
    在打开的Makefile.config修改如下内容(我自己的配置):
    USE_OPENCV := 1
    USE_LEVELDB := 1
    USE_LMDB := 1
    CUSTOM_CXX := g++
    CUDA_DIR := /usr/local/cuda-7.5
    CUDA_ARCH := -gencode arch=compute_20,code=sm_20 \
        -gencode arch=compute_20,code=sm_21 \
        -gencode arch=compute_30,code=sm_30 \
        -gencode arch=compute_35,code=sm_35 \
        -gencode arch=compute_50,code=sm_50 \
        -gencode arch=compute_50,code=compute_50
    BLAS := atlas
    MATLAB_DIR := /home/eric/MATLAB2014/R2014a
    PYTHON_INCLUDE := /usr/include/python2.7 \
        /usr/lib/python2.7/dist-packages/numpy/core/include
    PYTHON_LIB := /usr/local/lib
    WITH_PYTHON_LAYER := 1
    INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
    LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial
    BUILD_DIR := build
    DISTRIBUTE_DIR := distribute
9、make所有文件
    进入caffe根目录,输入如下命令:
    sudo make clean
    sudo make all -j4
    sudo make test -j4
    sudo make runtest -j4
    sudo make pycaffe -j4
    sudo make matcaffe -j4
    在命令行下输入Python,会出现Python的一些信息,然后输入import caffe,没有报错说明配置成功。在命令行下输入matlab,会打开MATLAB软件。
    如果前面所有的配置过程都没有问题的话,最后一步应该是不会出错的。至此,caffe所有的配置项都完成了,接下来就可以愉快地使用这个强大的深度学习框架了。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
安装OpenCV 2.4.9在ubuntu16.04上需要以下步骤: 1. 首先,从以下链接下载OpenCV源码文件:。 2. 安装必要的环境:使用以下命令安装必要的依赖项: ``` sudo apt-get install build-essential cmake libgtk2.0-dev pkg-config python-dev python-numpy libavcodec-dev libavformat-dev libswscale-dev ``` 3. 解压下载的OpenCV源码文件并进入源码目录。在终端中使用以下命令进行解压: ``` unzip opencv-2.4.9.zip cd opencv-2.4.9 ``` 4. 创建一个release目录,并进入该目录: ``` mkdir release cd release ``` 5. 使用cmake编译OpenCV源码,并将所有的库文件安装到/usr/local目录下: ``` cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local .. ``` 6. 返回到opencv-2.4.9目录: ``` cd .. ``` 7. 安装OpenCV库文件: ``` sudo make install ``` 这样,你就成功地在ubuntu16.04上安装了OpenCV 2.4.9。请注意,这个过程可能需要一些时间,具体取决于你的系统和网络速度。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Ubuntu16.04下安装opencv2.4.9及若干问题解决方法](https://blog.csdn.net/weixin_39513374/article/details/80190487)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [ubuntu16.04 下安装opencv2.4.9](https://blog.csdn.net/weixin_34250434/article/details/94706217)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [matlab的冲击信号图代码-Start-Zero-Ubuntu16.04-install-caffe-cuda9.1-cndnn9.1-Op](https://download.csdn.net/download/weixin_38688145/18892111)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

~青萍之末~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值