从小对计算机视觉就很感兴趣,初一的时候用汇编写了当时386SX上大力神黑白显卡的驱动(为了实现一个小游戏),一晃二十年,与图形图像处理相关的技术体系也一直在学习了解,但因工作原因未能真正深入。
近几年技术管理做的多,接触新技术的机会少了,这段时间刚好有个机会,独立完成了一个手机设备双面鱼眼镜头全景图像合成的项目,核心算法用OpenCV完成。按照年少时的惯例,用博客记录,一来自我巩固,二来予人玫瑰。
鱼眼项目由于要在iOS/Android环境运行,是用C++写的,所以我最熟悉的也是OpenCV C++,但是接下来我所有教程的代码都会用Python来写,主要原因有三:
以上扯谈,以下正题。
我的安装方式与网上大多数所讲不同,全程除了python之外只用到了一个工具(conda),连OpenCV都不需要单独下载,非常简单,且功能丝毫不差。
如果你Mac上的OS X版本高于10.8(也就是Mountain Lion),那么你应该已经自带了Python,无需安装。可以使用以下指令检查版本:
$ python --version
Python 2.7.10
如果你的OS X版本低于10.8,那么我建议你换台电脑。
Anaconda最初是为了方便的管理Python的科学库(官方定位是“The Most Popular Python Data Science Platform”),但现在大家一般将其做为Python的多环境依赖管理工具。
先到 Anaconda官网 下载其Mac版本(选择Python版本与本机版本一致;命令行版,图形版我没用过),然后安装。完成后在命令行执行:
$ conda --version
conda 4.3.30
出现版本即表示安装成功。
执行以下脚本创建名为opencv且使用Python 3.x版本的环境:
$ conda create --name opencv python=3
然后执行以下脚本进入此环境:
$ source activate opencv
# 未来想退出可以执行以下指令
# $ source deactivate
执行完命令行前会出现 (opencv)
字样,表示环境切换成功。
在刚刚创建的Anaconda名为opencv的环境中,执行:
$ conda install libopencv opencv py-opencv
对Anaconda有兴趣想初步了解可以看下 《Anaconda使用入门》
还是在刚刚的Anaconda名为opencv的环境中,执行:
$ python
>>> import cv2
>>> print(cv2.__version__)
3.4.1
如果执行成功即表示安装完成。
如果以上 import cv2
时得到类似下面的结果:
>>> import cv2
Traceback (most recent call last):
File "" , line 1, in <module>
ImportError: dlopen(.../site-packages/cv2.cpython-36m-darwin.so, 2): Library not loaded: @rpath/xxx.dylib
Referenced from: xxx.dylib
Reason: image not found
一般来说是包不够新,可以执行下面指令:
$ conda update -c conda-forge --all
从 conda-forge
上更新一下最新的就好了。
第一篇比较啰嗦一点,后面请大家放心,还会继续啰嗦的