在正文前,还是一个有趣的例子
See the Pen Ԉ Shuffle by 攻伤菊菊长 (@THISISAGOODNAME) on CodePen.
昨天安装了openCV2,但是安装的是homebrew预编译的版本,缺少很多模块,所以我现在使用homebrew编译定制版本的openCV3(带ffmpeg模块),并让系统中的openCV2和openCV3共存。
使用homebrew安装带ffmpeg模块的openCV3
如果你的网络条件很优秀,可以直接使用下面的命令
网络条件不优秀的情况
homebrew编译安装openCV3时,依赖文件需要 ippicv_macosx_20141027.tgz,如果直接用命令不行,可以自行想办法下载下来,然后放在 /Library/Caches/Homebrew
目录下
然后在执行cmake时,还会有一件更让人不爽的事,ippicv在sourceforge上的代码并不是最新的,他需要的是 ippicv_macosx_20151201.tgz,下载地址为 “https://raw.githubusercontent.com/Itseez/opencv_3rdparty/81a676001ca8075ada498583e4166079e5744668/ippicv/ippicv_macosx_20151201.tgz”。cmake不会使用代理,因此这个文件下不下来。homebrew编译的路径在/tmp下,是一个临时文件,一旦停止立刻消失,正常的复制的方法不管用。
这位大神的这篇文章给了一个迂回但非常棒的解决方案,在本地建立一个server并把 raw.githubusercontent.com 重定向到本地。
创建一个SSL认证文件
这篇文章中有更详细的关于用python建立https服务的方法
把ippicv_macosx_20151201.tgz放到正确的位置
创建一个python服务的脚本
使用80,443端口时,需要管理员权限
修改hosts文件
修改/etc/hosts文件,加入下面这行
127.0.0.1 raw.githubusercontent.com
再次使用homebrew
现在执行这条命令,应该没问题了。
切换openCV2到openCV3
现在,mac系统中同时安装了openCV2和openCV3,但是两个版本同时只能有一个版本生效
执行下面的命令
测试安装的openCV版本
可以使用下面的代码
输出的应该是3.x.x
测试视频模块是否正常
使用下面的代码
注意正确的视频路径