zoukankan      html  css  js  c++  java
  • CentOS7配置opencv for python && eclipse c/c++[更新]

     更改前的安装过程有些问题,主要是ffmpeg-devel的安装部分,这里重新说一下

    两种安装方法:

    第一种,直接:

        # yum install numpy opencv*

        这种方法安装了之后,能够在python中使用opencv(import cv2),但是如何在C++环境中使用opencv,我还不清楚

    第二种方法,从源码安装

    1, 安装 opencv 的依赖项

        google: install opencv for python in fedora
        发现:
        http://docs.opencv.org/trunk/doc/py_tutorials/py_setup/py_setup_in_fedora/py_setup_in_fedora.html
        按照上面所述,开始安装 opencv 的依赖项
        python 中的依赖项:
        yum install cmake
        yum install python-devel numpy
        yum install gcc gcc-c++
        opencv 的依赖项:
        yum install gtk2-devel
        yum install libdc1394-devel
        yum install libv4l-devel
        yum install ffmpeg-devel
        yum install gstreamer-plugins-base-devel

    注意:

     安装上面的依赖项之前,需要先把epel7 ,rpmforge7,pbone源安装好。

     截至到我更新这篇博文为止,epel7以及rpmforge7都还没有正式版,还是beta版,自己在网上找找。

     pbone源是一个需要付费的源,但是注册了会提供15天的试用。另外,ffmpeg-devel这个依赖项在pbone的centos源中还没有,因此,在安装pbone源时,操作系统选Red Hat EL7,不要选CentOS7(至于,RHEL与CENTOS软件通用性的程度如何,此处不做讨论,笔者在安装过程中,没有发现因为是CentOS系统用RHEL的Pbone源出现什么问题)。

     软件源配置好了之后,直接各种yum就将依赖项都安装好了。

     还有一些其他可选的依赖项,大家自己视情况安装吧!

    2, 安装 opencv
        在网上下载 opencv 源码
        解压后

    # cd opencv
    # madir release
    # cd release
    # cmake -D WITH_TBB=ON -D WITH_EIGEN=ON ..
    # cmake -D BUILD_DOCS=ON -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_EXAMPLES=OFF ..
    # cmake -D WITH_OPENCL=OFF -D WITH_CUDA=OFF -D BUILD_opencv_gpu=OFF -D BUILD_opencv_gpuarithm=OFF -D BUILD_opencv_gpubgsegm=OFF -D BUILD_opencv_gpucodec=OFF -D BUILD_opencv_gpufeatures2d=OFF -D BUILD_opencv_gpufilters=OFF -D BUILD_opencv_gpuimgproc=OFF -D BUILD_opencv_gpulegacy=OFF -D BUILD_opencv_gpuoptflow=OFF -D BUILD_opencv_gpustereo=OFF -D BUILD_opencv_gpuwarping=OFF ..
    # cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
    # make
    wait long long time ......
    # make install     
    安装完毕

    3, python 路径配置
        # cp /usr/local/lib/python2.7/site-packages/cv2.so /usr/lib/python2.7/site-packages
        # export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages
        然后打开 python,import cv2 ,发现已经 OK 了

      

        发现 import cv2 已经无误了!!!
        It's so beautiful!!!

    4, opencv 环境变量配置
        (eclipse 的安装以及 C/C++的安装,此处不讲)
        切换到 root 用户# vi /etc/ld.so.conf.d/opencv.conf
        加入/usr/local/lib
        # ldconfig
        # cd        返回默认目录
        # vi .bashrc     在最后加上 PKG_CONFIG_PATH=/usr/local/lib/pkgconfig 和 export PKG_CONFIG_PATH 两行
        # reboot

    5, 配置 eclipse
        重启后,打开 eslipse,新建 C++工程
        工程建好后,进入
        Project->Properties->C/C++ Build->Settings
        在 GCC C++ Compiler->includes
          include paths 中加入:
            /usr/local/include/opencv

        

        在 GCC C++ Linker->Libraries 里
          Library search path 里,加入
          /usr/local/lib
            Libraries 里加入
            opencv_core; opencv_imgproc; opencv_highgui; opencv_ml; opencv_video; opencv_features2d; opencv_calib3d; opencv_objdetect; opencv_contrib; opencv_legacy; opencv_flann

        

    下面写入测试代码:

    #include <iostream>
    #include <cv.h>
    #include <highgui.h>
    
    using namespace std;
    
    int main ( int argc, char **argv )
    {
        IplImage *pImg = cvLoadImage("/home/zh/1.jpg");
        cvNamedWindow("Image", 1);
        cvShowImage("Image", pImg);
        cvWaitKey(0);
        cout << "!!!Hello World!!!" << endl; // prints !!!Hello World!!!
        return 0;
    }

    如果正确显示图片,那就是无误了。

    ELSE:
    发现 eclipse 一个小小的坑爹的地方,命名代码没有错误,他还总是画红色波浪线,说有错误,说不存在该变量或者啥的,但是运行是无误的,如下图示:

     

    对 eclipse 甚是无语

  • 相关阅读:
    B.Icebound and Sequence
    Educational Codeforces Round 65 (Rated for Div. 2) D. Bicolored RBS
    Educational Codeforces Round 65 (Rated for Div. 2) C. News Distribution
    Educational Codeforces Round 65 (Rated for Div. 2) B. Lost Numbers
    Educational Codeforces Round 65 (Rated for Div. 2) A. Telephone Number
    Codeforces Round #561 (Div. 2) C. A Tale of Two Lands
    Codeforces Round #561 (Div. 2) B. All the Vowels Please
    Codeforces Round #561 (Div. 2) A. Silent Classroom
    HDU-2119-Matrix(最大匹配)
    读书的感想!
  • 原文地址:https://www.cnblogs.com/pakfahome/p/3895004.html
Copyright © 2011-2022 走看看