Frank the Obscure 无名的弗兰克

opencv-python3-pyenv


OpenCV 是一个常用的开源图形库. 在我的一些小项目中希望通过识图读取屏幕中的信息(如游戏中的牌号图片). 而初期使用的基于 Python 的 PyAutoGUI 速度较慢: 截图用时在 1s 量级, 图片的比较也较慢, 达不到快速响应的需要. 因此希望通过基于 C++ 的 OpenCV 解决识图的问题.

用 OpenCV + Python3 + pyenv 进行了多次查询, 最后主要参考一篇日文博客的代码完成了安装1.

Homebrew 安装 OpenCV3

Homebrew 提供了 OpenCV3 和 python3 的绑定安装脚本. 直接执行即可安装全部依赖, 并安装 OpenCV3.

$ brew install homebrew/science/opencv3 --with-python3

在 pyenv 的 python3 中调用 OpenCV

目前 pyenv 的 python3 中还不能使用 OpenCV. 这是由于 Homebrew 安装的 OpenCV 链接到的 python3 不是 pyenv 的版本.

下面我们把 OpenCV 生成的 .so 库 link 或 copy 到 pyenv 的 python3 目录下.

/usr/local/Cellar/opencv3/3.2.0/lib/python3.5/site-packages/cv2.cpython-35m-darwin.so

~/.pyenv/versions/3.5.1/Python.framework/Versions/3.5/lib/python3.5/site-packages/cv2.cpython-35m-darwin.so

测试 OpenCV + python3

$python
Python 3.5.1 (default, Apr  8 2016, 16:58:45)
[GCC 4.2.1 Compatible Apple LLVM 7.3.0 (clang-703.0.29)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cv2.__version__
'3.2.0'

Done.

其它的安装方式: 源码安装 OpenCV3

StackOverflow 上也有源码安装 OpenCV3 的教程2.

大致思路是先下载源码, 再用 cmake 设置相关编译参数, 编译带 python3 支持的 OpenCV.

实践的时候编译 OpenCV3 不成功, 以后如果需要编译带 opencv-contrib 的版本的时候再研究吧.


References:


Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Similar Posts

下一篇 OpenCV auto 2048

Comments