Python3.6+OpenCV3.3开发环境搭建
Python3.6+OpenCV3.3开发环境搭建
当前Python语言随着人工智能时代的到来很火,很多人都希望我出一些Python与OpenCV相结合的文章。本文就是开篇之作,“工欲善其事,必先利其器”,做Python开发推荐使用PyCharm IDE,如果之前没有接触过Python,建议直接使用Python3.6 + OpenCV3.3这两个最新版本,既然选择学习,就要从当前最新版本开始,而不是在那里找古董,在技术领域古董只有被扔到垃圾桶。所有要把有限的时间花在正确的技术上。
工具下载与安装
本人的环境是Windows开发环境,机器是Win7 64位的,所以可以从Python官网上下载Python语言安装包,好了之后,就可以到JetBrains的官方网站下载专业版PyCharm IDE,没有安装序列号就从网上搜索一个即可。工具的版本信息如下:
- python-3.6.2-amd64.exe
- pycharm-professional-2017.2.3.exe
如果一切顺利,你的Python语言开发环境与IDE就准备好啦,下面就是安装OpenCV3.3的开发包,当然是支持Python语言的SDK,OpenCV官方下载的3.3的开发包里面包含的SDK是基于Python2,无法在我们这种情况下使用,当然还可以自己通过CMake编译,但是这显然不是初学者的好选择,Python3支持pip方式自动安装第三方开发包,我们只要打开windows下面的命令行工具,输入如下命令:
- pip install opencv-python 安装最新的OpenCV3.3开发包
- pip install opencv-contrib-python 安装最新的OpenCV3.3扩展
如果你不想安装扩展模块,只运行第一行命令即可,安装完显然如下:
运行第一个OpenCV程序
这样 OpenCV3-Python 3.3就成功安装了,打开安装的PyCharm IDE,新建一个项目 opencv_test,新建一个test.py文件
在test.py中添加如下测试代码
import cv2;print("--------- Test OpenCV ---------");src = cv2.imread("D:/vcprojects/images/lena.png");cv2.namedWindow("input image", cv2.WINDOW_AUTOSIZE);cv2.imshow("input image", src);cv2.waitKey(0);cv2.destroyAllWindows();print("--------- End Test ---------");
执行结果如下:
到这里就说明开发环境Python3.6 + PyCharm IDE + OpenCV3.3已经正确搭建了,下面就可以开始学习OpenCV的各个相关模块与知识点了。
注意点: 第一次导入cv2的时候在PyCharm IDE中使用的时候,会出现不自动补全代码或者不自动提示的情况,这个时候,只要打开setting页面删除解释器,再次添加一下,重新加载好了以后就再不会出现这个问题。
- WPF中的MatrixTransform
- kvm虚拟化管理平台WebVirtMgr部署-虚拟化环境安装-完整记录(0)
- ruby学习笔记(3)--语法层面的先见之明
- jQuery操作Select
- ruby学习笔记(11)--symbol与hash参数
- zabbix监控-基本原理介绍
- OpenStack构架知识梳理
- mysql操作命令梳理(4)-grant授权和revoke回收权限
- 问未来
- ruby on rails + mysql 开发环境搭建
- CentOS 7.2下安装Mono 5.0
- ROR学习笔记(1):Rails 2快速创建GRUD应用
- API网关Ocelot 使用Polly 处理部分失败问题
- 使用GoogleAPI加载各种js框架
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- JavaWeb第一讲 Servlet的工作原理及生命周期
- 多系列数据核密度图
- leetcode树之二叉树的层平均值
- 大型项目技术栈第二讲 ES6(ECMAScript 6.0)的使用
- 大型项目技术栈第三讲 ztree的使用
- JavaWeb新手训练经典项目 & 半小时高效开发 & 海量知识点涵盖 = 从这里开始
- Java反射_笔记分享
- Java注解详细总结
- 文档驱动 —— 表单组件(六):基于AntDV的Form表单的封装,目标还是不写代码
- 这就是你日日夜夜想要的docker!!!---------Docker资源控制--Cgroup
- 2020-09-26:请问rust中的&和c++中的&有哪些区别?
- python在Keras中使用LSTM解决序列问题
- python使用MongoDB,Seaborn和Matplotlib文本分析和可视化API数据
- 用于NLP的Python:使用Keras进行深度学习文本生成
- 用Python的Numpy求解线性方程组