一、版本选择: opencv是计算机视觉方面目前比较流行的一个软件包,当前最新版本是4.20版本。每一个版本都有一些功能上的提升,按照常规想法应该尽可能用最新版本的软件,但是这里有一个问题,后面用于图像匹配的一个关键算法sift,是存在专利问题的,在3.4版以后被移出了默认发行版本,如果要用需要自己编译库,选上nonfree项才行,这个复杂度有点高,不再本次考虑范围。
opencv当前的发行版本分为opencv的标准包,和支持扩展功能的包opencv-contrib两个版本,2.x以后就这样分开了,扩展功能不用时占用的空间会小一些,本次要用到扩展功能,sift就是包括在扩展功能里面的。
最终本次选择3.42的contrib版本。
二、安装过程:
python安装扩展插件的时候推荐使用pip方式。
安装好用python3.7.6版本后第一次运行失败,有些版本是可以直接用的。
这时只要先运行一下python -m ensurepip就可以了。
安装opencv,使用 命令:pip3 install opencv-contrib-python==3.4.2.17,文字界面等待停下时已经看不到初始输入的命令的,卸载后重装直接用缓存的文件重新安装。
执行后安装了opencv和numpy两个软件包。后一个是软件包主动申请的辅助软件包,这个会自动被安装。
三、测试是否安装成功:
启动python 的idle界面
输入测试如下:
导入opencv,然后获取到opencv的版本号。这里的version是cv2的版本号常量,cv2是opencv的代号,区别于早期版本的cv,2.x/3.x/4.x导入opencv的时候都可以用cv2.因为在交互界面常量或计算结果会直接显示出来所以不用声明print。
本日志不尝试python和opencv的语法和函数等内容,只是介绍实现的过程,因为我也是新手,借助的是百度、谷歌、github等资源,用到什么查找什么,不会做系统的全面的实现。