zoukankan      html  css  js  c++  java
  • Linux下安装OpenCV+Python支持

      以下说明在Linux下Python和OpenCV结合安装的过程,Python要使用OpenCV模块,则必须导入OpenCV提供的包,所以要提供Python支持,首先在安装OpenCV前安装必要的组件,一般列表如下:

      1、gcc g++一般系统自带

      2、cmake 编译OpenCV时使用,需要手动安装

      3、pkg-config命令,一般系统自带,如果缺少,使用 yum -y install pkg-config 安装

      4、Python 2.x,系统自带

      5、NumPy 一个用于大型矩阵处理的库,这个必须!如果不安装则后面OpenCV安装后也编译不出来Python的模块,其他库可以后来安装

      最后一步是安装OpenCV

      在保证前4项没问题的情况下,开始安装NumPy模块,官网下载地址为:http://www.scipy.org/scipylib/download.html

      

      进入SourceForge下载,地址为:https://sourceforge.net/projects/numpy/

      

      直接点击Download即可下载,下载成功之后上传到Linux服务器,安装过程很简单,解压后直接安装即可(之前要确保python-devel已经安装)

    unzip numpy-1.11.1.zip
    cd numpy-1.11.1/
    python setup.py install

      另外numpy还可以去python官网下载:https://pypi.python.org/pypi/numpy

          安装成功之后接下来进一步安装OpenCV,官方网站为:http://opencv.org/进入后点击DOWNLOADS来到下载界面:http://opencv.org/downloads.html,这里下载2.4.13的版本

      

      下载完之后上传到Linux,执行接下来的安装:

    unzip opencv-2.4.13.zip
    cd opencv-2.4.13/
    cmake -D WITH_GTK_2_X=ON -D CMAKE_INSTALL_PREFIX=/usr/local .
    make    # make -j4表示开4个线程来进行编译
    make install

      安装过程时间可能会有点长10~30分钟左右,编译完成之后OpenCV就安装到了指定的/usr/local下面的一些目录中,库文件就安装到了/usr/local/lib下,Python的模块安装位置是:/usr/local/lib/python2.7/site-packages,执行 ls /usr/local/lib/python2.7/site-packages/ 可以看到两个文件,一个是cv2.so一个是cv.py

      

      这两个文件在刚才opencv-2.4.13编译的目录下面lib/下也存在着两个python模块文件,但是不幸的是现在并不能直接使用,原因是我们操作系统python依赖包的位置是/usr/lib/python2.7下,所以刚才如果编译到/usr下是直接可以用的,不过这个也不重要,只要我们将这两个文件复制到正确的目录下,那么就能正常使用OpenCV的功能了,执行: cp /usr/local/lib/python2.7/site-packages/cv* /usr/lib/python2.7/site-packages/ 复制过去之后进入python交互式界面执行 import cv2 没有报错则安装成功

      可以写一个测试的小案例,在服务器上有一张图片是test.jpg现在简单的使用cv2模块解析成图像矩阵,然后再写入磁盘文件中,代码如下:

    #!/usr/bin/python
    # -*- coding:utf-8 -*-
    import cv2
    image = cv2.imread("test.jpg")
    print image
    cv2.imwrite("test1.jpg",image)

      这里将原有的test.jpg生成test1.jpg,

      

      执行 python cvtest.py 执行完后会发现输出好多矩阵变量,并且生成了test1.jpg文件

      

      生成的文件有可能比原文件大也有可能小,具体根据图像来决定,现在查看一下图片内容,和之前是一样的

      

  • 相关阅读:
    HihoCoder 1638 : 小Hi的天平 (2-sat+并查集)
    阿里云安全肖力:云上数据安全体系建设的六要素
    MaxCompute客户端(odpscmd)在windows命令行下查询中文乱码问题处理实践
    序列化方案选型对比
    亚洲唯一,阿里云SLB位列Gartner全球网络负载均衡市场前五
    阿里云OSS同城冗余存储技术解析
    OSS跨同城3AZ重磅发布,构造全面数据保护体系
    阿里云OSS同城冗余存储正式商业化,提供云上同城容灾能力
    云原生应用 Kubernetes 监控与弹性实践
    GIAC2019 演讲精选 | 面向未来的黑科技——UI2CODE闲鱼基于图片生成跨端代码
  • 原文地址:https://www.cnblogs.com/freeweb/p/5794447.html
Copyright © 2011-2022 走看看