• 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 甚是无语

  • 相关阅读:
    maven导入项目时出现“Cannot read lifecycle mapping metadata …… invalid END header (bad central directory offset)pom”错误的解决方法
    Eclipse下使用Git
    Sprint Boot入门(1):创建第一个Spring Boot应用
    Gradle入门(6):创建Web应用项目
    Gradle入门(5):创建二进制发布版本
    maven在windows10系统下安装配置和打包war
    Windows10系统下安装配置Tomcat 9.0.1
    面试题1
    Json序列化帮助类
    NPOI帮助类
  • 原文地址:https://www.cnblogs.com/pakfahome/p/3895004.html
Copyright © 2020-2023  润新知