hello opencv

opencv mac os 环境初始化

总体参考

http://www.cnblogs.com/freeweb/p/5794447.html

但是过程中遇到了一些mac os 的问题记录下来

以下说明在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

由于我的mac os gcc,python2.7 已经有。

第一步,安装pk-config

http://pkgconfig.freedesktop.org/releases/pkg-config-0.28.tar.gz 下载解压

./configure  --with-internal-glib

make

sudo make install

完成

第二步,安装cmake

首先去cmake,官网,下载Mac操作系统对应的安装包https://cmake.org/download/

我下载的3.10.1直接下载.dmg。

安装完成之后,运行cmake图形界面程序,在左上角的选项栏中选择Tools,点击How to install for Command Line Use。之后弹出来一个消息框:

One may add CMake to the PATH:

PATH="/Applications/CMake.app/Contents/bin":"$PATH"

Or, to install symlinks to '/usr/local/bin', run:

sudo "/Applications/CMake.app/Contents/bin/cmake-gui" --install

Or, to install symlinks to another directory, run:

sudo "/Applications/CMake.app/Contents/bin/cmake-gui" --install=/path/to/bin

官方给出了三种安装cmake command line tool 的方法,即终端能够识别cmake命令的方法。我选择了官方给出的第二种方法,即复制sudo"/Applications/CMake.app/Contents/bin/cmake-gui" --install  命令到终端,然后运行,之后再在终端打cmake命令,就不会再提示什么command not found之类的错误了,到此安装成功了

完成

第三步,NumPy安装

https://sourceforge.net/projects/numpy/?source=typ_redirect 下载

解压后在源码路径下

python setup.py install

安装完成。

第四步,安装OpenCV,

官方网站为:http://opencv.org/ 下载源码 我下载的是3.4.0,解压

cd opencv-3.4.0/

mkdir build

cd build

cmake ..

make -j 4

sudo make install

ll /usr/local/lib/python2.7/site-packages/

root  admin  3276452 12 30 21:19 cv2.so

看到 sv2.so说明安装成功

如果这时启动python交互命令行,import cv2

报错, ImportError: No module named cv2 

第五步,解决 ImportError: No module named cv2 问题

>>> import site

>>> site.getsitepackages() 

['/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python', '/Library/Python/2.7/site-packages']

把 /usr/local/lib/python2.7/site-packages/cv2.so 拷贝到site.getsitepackages() 对应目录即可。

我只拷贝到了 /Library/Python/2.7/site-packages。

第六步,hello word

#!/usr/bin/python

# -*- coding:utf-8 -*-

import cv2

image = cv2.imread("/Users/rachelluo/Downloads/IMG_4432.JPG")

print image

cv2.imwrite("./a.jpg", image)

猜你喜欢

转载自tianmaotalk.iteye.com/blog/2406240
今日推荐