凡哥带你玩转OpenCV-预备知识
原创作品,转载请注明出处!!
如果你想学习python-opencv的话, 有些基础知识你是必须要掌握的。 本篇文章,凡哥列举了所有你需要掌握的知识点,并给出了凡哥之前编写的配套入门教程。文章都可以在凡哥官网【www.myfange.com】上免费阅读。预备知识部分主要分为四部分:
- Python基础
- Python科学计算 (矩阵运算包Numpy ,可视化包 Matplotlib)
- Ubuntu配置
- Linux基础指令行
1. 凡哥写给嵌入式工程师的Python入门教程
首先,你必须掌握Python这门编程语言。
凡哥已经为大家写好了python入门教程 , 教程的名称叫做<凡哥写给嵌入式工程师的Python入门教程>
写在开头
之前在 “凡哥带你玩转OpenMV”学习社群(QQ群: 564048763)里做过调研, 大部分同学大学里学习的都是C语言。 本教程首先假定大家已经掌握了一门编程语言,例如C/C++,我们在讲解Pyhthon语法的过程中还会结合C语言的语法做一下对比介绍。
使用Anaconda在Win10下配置Python开发环境
编写本章的目的是为之后凡哥的Python基础入门教程做准备。刚开始入手的时候,还是建议大家在PC上多练习Python的一些基础语法。 刚开始安装配置Python的运行环境可能会花费一些时间,但是长远看,可以帮你更加深入了解Python,进入新世界的大门。
Python中的变量
本期凡哥对比C语言, 介绍了Python中, 常用的几种变量类型. 其中包括整数, 浮点数 , 布尔值, 及其各种类型的属性, 声明方式与运算. 在整数部分, 凡哥还介绍了在python中整数的各种进制的表示与转换方法.
Python中的列表与元组
本期教程,凡哥对比C语言给大家讲解了Python中类似数组的数据结构
List
与Tuple
, 他们赋值更加灵活。List
与Tuple
之间最大的区别就在于List
可以列表里的修改值,而Tuple
初始化之后就不可以修改。 对于list跟tuple的操作, 凡哥做了大量的演示, 希望大家可以跟凡哥一起操作.
Python字典数据结构
在本次课程中, 凡哥给大家介绍了一种Python中特有的数据类型, 字典(dictionary). 介绍了字典的概念, 如何声明一个字典, 键值对的增加,修改,删除等操作. 最后凡哥给大家演示了一个比较复杂的dict的用法, 类似json的结构.
Python中的字符串(str)
本期凡哥给大家演示了字符串的各种属性, 切片方法, 字符串拼接, 字符串匹配查找等常用功能. 在文章的最后,凡哥给出了一段模拟通信协议的样例, 演示了如何使用python在字符串中提取整数与小数.
Python中的字节(bytes)与字节数组(bytearray)
本章凡哥主要给大家讲解了Python中的二进制数据对象bytes的声明与操作方式, bytes与字符串之间的转换. 最后介绍了bytearray, 它与bytes之间最大的区别在于bytes的元素声明后不可以修改.
Python基本的控制流语句
在本次课程中凡哥将会给大家讲解Python中的基本控制流语句, 所谓控制流, 无非这么几种: 根据条件去判断执行if-else语句, 循环遍历for循环, 传说中的永动机while循环. 主要以代码的方式介绍, 用大量的示例演示其用法.
Import系统之同目录跨文件的引用
凡哥在这篇教程里, 首先教大家编写了一个简单的函数
HelloWorld
. 然后分别在同一个文件下引用, 与同级目录下的不同文件下引用.
Import系统之跨目录引用
凡哥以流水灯为例,写好了一个面向对象的工程。你在pc上是不能正常跑的, 因为下面这段程序是运行在
OpenMV
上的, 是硬件控制的程序.好在程序比较简单, 大家可以参照其中的文件结构与继承方式. 同时,这篇文章也演示了Python文件层级结构与跨文件的调用方式.
2. 凡哥带你玩转Python科学计算
Numpy快速入门
因为凡哥在给大家教授python-opencv, 而在python-opencv读入一个图片对象就是numpy的ndarray类型, 所以凡哥有必要在这里给大家讲解一下numpy的一些基础操作. 同时还会介绍numpy中两个重要的概念全局函数与广播. 最后凡哥还介绍了numpy下面的两个包, linalg线形代数计算包与random随机生成包.
这篇文章是凡哥写的最长的教程, 请仔细阅读
3. Ubuntu虚拟机与opencv开发环境配置
在VirtualBox上安装Ubutu16-04的虚拟机
在本次教程里, 凡哥带大家安装VirtualBox, 介绍了一下VirtualBox与VMWare的不同之处. 接下来教大家如何创建一个虚拟机, 如何分配物理资源等. 然后我们挂载Ubuntu16.04的镜像, 凡哥逐步教大家安装Ubuntu.课程最后, 你可以进入到你自己安装的Ubuntu桌面, 是不是很有成就感.
在Ubuntu下安装Anaconda科学计算包并运行python程序
在这节课, 凡哥带大家从Anaconda的官网下载sh安装文件, 并在本地运行它. 安装完成之后, 需要添加环境变量PATH到.bashrc下, 接下来我们测试一下anaconda是否安装成功. 最后, 凡哥给大家演示了, 安装Anaconda之后运行IPython与Jupyter Notebook 交互式编程环境.
Ubuntu下利用Anaconda安装opencv
这篇文章一来教大家如何使用anaconda 来搜索包, 添加channel , 二来也演示配置opencv开发环境的过程。 我们安装来自conda-forge , 我们选择的opencv版本是opencv=3.3.0. 另外, 当你安装完anaconda之后, 管理python包的工具就从pip转变为conda 文章写的比较仓促, 为anaconda指令讲解不是很详细, 请多包涵.
在VirtualBox虚拟机里使用Opencv获取USB摄像头的图像
在这一讲里, 凡哥将会带大家在virtualbox中运行opencv的程序, 并且读取usb摄像头的图像。 在运行程序之前, 你需要在VirtualBox上安装对应的拓展包. 然后, 凡哥还详细讲解了opencv中调用VideoCapture获取图像并展示在窗口的程序. 通过这篇文章的操作, 你可以检测你的USB设备是否可以在虚拟机里正常读取, 另外, 测试你配置的opencv开发环境是否正常.
4. 凡哥带你玩转Linux
为什么要学习命令行-凡哥带你玩转Linux
本教程是凡哥带你玩转Linux的开篇文章. 凡哥将会带大家了解
GUI
跟CLI
之间的不同, 并且分析为什么大家需要学习linux命令行. 以便给大家学习的动力.
打开命令行世界的大门-初识终端-凡哥带你玩转linux
在此教程中, 凡哥为大家介绍了Terminal终端的历史, 以及告诉大家如何打开终端. 介绍了图形化界面中的Terminal中的一些快捷方式.并且学习了我们第一个命令行的指令echo
文件系统之文件操作01-凡哥带你玩转Linux
我们平常在使用文件系统的过程中, 常见的也无非就是文件/文件夹的增删改查. 这次课程凡哥主要给大家讲解一下文件列表与进入文件夹这两个操作.
文件系统之文件操作02-凡哥带你玩转Linux
本期凡哥将带大家进入Linux文件操作的第二部分. 我会带大家使用命令行做如下操作. mkdir, touch, vim, cat, cp, mv, rmdir, rm
如何查询指令的使用手册-凡哥带你玩转Linux
本期凡哥通过一个解压
tar.gz
文件的需求, 给大家展示了, 如何查询指令, 如何查询指令方法的过程. 过程如下 * 借助搜索引擎, 查找实现需求的相关指令 * 借助man
--help
去查看指令的帮助文档, 了解每个选项的含义及使用发法. 另外凡哥也给大家推荐了另外一个查询工具cheat
简单易用.
在Linux下运行你的第一个Python程序-凡哥带你玩转Linux
本期凡哥将会带你在linux的开发环境中创建你的第一
python
程序,HelloWorld
,并在终端中运行它. 在这个过程中, 凡哥会展示两种方法, 一种是命令行下的. 同时我们还会回顾之前学到过的几个文件操作的命令行.
更多相关文章
- 读取python中的unicode文件,该文件以与python源代码相同的方式声
- python 操作excel 读写同一个文件
- Python-字典的基本操作
- 使用自定义qemu二进制文件与libvirt失败?
- 【python coding 1:网络检测】ping本地文件里的ip地址
- 如何输出NLTK块到文件?
- python 读写文本文件
- 批量重命名文件——python实现
- python中字典的操作