logo资料库

玩转OpenMv.pdf

第1页 / 共165页
第2页 / 共165页
第3页 / 共165页
第4页 / 共165页
第5页 / 共165页
第6页 / 共165页
第7页 / 共165页
第8页 / 共165页
资料共165页,剩余部分请下载后查看
序言 ....................................................................................................................................................................................................................................................................... 8 OpenMV 嵌入式图像处理 ........................................................................................................................................................................................................................ 8 OpenMV 中国官方代理(星瞳科技): ................................................................................................................................................................................................... 8 版权所有 ......................................................................................................................................................................................................................................................... 8 本书适合什么人? ...................................................................................................................................................................................................................................... 8 OpenMV 是什么? ..................................................................................................................................................................................................................................... 8 OpenMV 适合做什么?............................................................................................................................................................................................................................ 9 OpenMV 不适合做什么? ....................................................................................................................................................................................................................... 9 本书需要一些什么背景知识? .............................................................................................................................................................................................................. 9 更多的资源? ............................................................................................................................................................................................................................................... 9 常见问题 ........................................................................................................................................................................................................................................................... 11 选择 OpenMV3 M7 还是 OpenMV2 M4?..................................................................................................................................................................................... 11 OpenMV3 M7 和 OpenMV2 M4 有什么区别? ........................................................................................................................................................................... 11 OpenMV 是开源的吗?.......................................................................................................................................................................................................................... 11 运行历程有错误怎么办? ...................................................................................................................................................................................................................... 11 如何看固件的版本。 ............................................................................................................................................................................................................................... 11 如何升级固件 ............................................................................................................................................................................................................................................. 12 如何打开终端/查看 print 的内容 ......................................................................................................................................................................................................... 12 OpenMV 与 OpenCV 的区别? .......................................................................................................................................................................................................... 12 OpenMV 的算法移植 OpenCV 的吗? ............................................................................................................................................................................................ 12 OpenMV 比树莓派有什么优势? ....................................................................................................................................................................................................... 12 OpenMV 使用什么语言编程? ........................................................................................................................................................................................................... 12 OpenMV 可以用 C 语言编程吗?可以用 IAR 或者 Keil 编程吗 ............................................................................................................................................ 12 OpenMV 的固件如何编译? ................................................................................................................................................................................................................ 13 OpenMV 的固件可以在 Windows/IAR/Keil 下编译吗? .......................................................................................................................................................... 13 OpenMV 用 MicroPython 会不会运行慢? .................................................................................................................................................................................... 13 OpenMV 可以脱机运行程序吗? ....................................................................................................................................................................................................... 13 OpenMV 的开发难吗?.......................................................................................................................................................................................................................... 13 Python 难吗? ........................................................................................................................................................................................................................................... 13 我不会写逻辑怎么办?比如不会把两个功能写在一起。 .......................................................................................................................................................... 13 可以用 NumPy, PIL 库吗? .................................................................................................................................................................................................................. 13 OpenMV 可以进行神经网络/深度学习吗?................................................................................................................................................................................... 13 OpenMV 的分辨率是多少? ................................................................................................................................................................................................................ 14 OpenMV 的可以使用高分辨率吗? .................................................................................................................................................................................................. 14 OV2640 版本的不是可以高分辨率吗? .......................................................................................................................................................................................... 14 为什么不使用更高像素的元件? ....................................................................................................................................................................................................... 14 OpenMV 的感光元件可以换吗? ....................................................................................................................................................................................................... 14 OpenMV 可以使用双路摄像头吗? .................................................................................................................................................................................................. 14 OpenMV 可以使用外置的摄像头吗?比如 USB 摄像头。 ..................................................................................................................................................... 14 OpenMV 的帧率是多少? ..................................................................................................................................................................................................................... 14 OpenMV 的识别距离多远呢? ........................................................................................................................................................................................................... 15 OpenMV 镜头可以换吗? ..................................................................................................................................................................................................................... 15 不同的镜头有什么区别? ...................................................................................................................................................................................................................... 15 长焦镜头可以看多远? .......................................................................................................................................................................................................................... 15 OpenMV 有什么算法?.......................................................................................................................................................................................................................... 16 OpenMV 可以识别数字吗? ................................................................................................................................................................................................................ 16 1
OpenMV 可以识别字母吗? ................................................................................................................................................................................................................ 16 OpenMV 可以识别汉字吗? ................................................................................................................................................................................................................ 16 OpenMV 可以识别形状吗? ................................................................................................................................................................................................................ 16 OpenMV 可以人脸识别吗? ................................................................................................................................................................................................................ 16 OpenMV 可以识别二维码吗? ........................................................................................................................................................................................................... 16 OpenMV 可以识别激光点吗? ........................................................................................................................................................................................................... 16 OpenMV 可以和其他芯片通信吗? .................................................................................................................................................................................................. 16 OpenMV 可以和 Arduino/51/STM32 通信吗? ........................................................................................................................................................................... 17 OpenMV 如何与 PLC 通信? .............................................................................................................................................................................................................. 17 OpenMV 可以和电脑通信吗? ........................................................................................................................................................................................................... 17 OpenMV 可以驱动步进电机/直流电机/舵机吗? ........................................................................................................................................................................ 17 OpenMV 可以驱动几个舵机? ........................................................................................................................................................................................................... 17 OpenMV 可以用在飞控上吗? ........................................................................................................................................................................................................... 17 OpenMV 如何供电? .............................................................................................................................................................................................................................. 17 OpenMV 的 3.3V 引脚是做什么用的? ........................................................................................................................................................................................... 17 OpenMV 可以用锂电池供电吗? ....................................................................................................................................................................................................... 17 OpenMV 工作电压是多少? ................................................................................................................................................................................................................ 17 OpenMV 运行程序的时候很烫怎么回事? .................................................................................................................................................................................... 17 LCD 几个占用几个引脚?..................................................................................................................................................................................................................... 18 LCD 是 SPI 接口的? ............................................................................................................................................................................................................................. 18 LCD 的分辨率是多少? ......................................................................................................................................................................................................................... 18 可以无线传输图像吗? .......................................................................................................................................................................................................................... 18 OpenMV SD 卡有什么用? .................................................................................................................................................................................................................. 18 OpenMV 内存卡最大支持多大的? .................................................................................................................................................................................................. 18 OpenMv 详细参数 ......................................................................................................................................................................................................................................... 19 应用 ................................................................................................................................................................................................................................................................ 19 引脚定义 ....................................................................................................................................................................................................................................................... 20 电路图 & 数据手册 ................................................................................................................................................................................................................................. 20 尺寸 ................................................................................................................................................................................................................................................................ 21 规格 ................................................................................................................................................................................................................................................................ 21 功耗 ................................................................................................................................................................................................................................................................ 22 温度范围 ....................................................................................................................................................................................................................................................... 22 10 分钟快速上手 下载软件 ........................................................................................................................................................................................................................ 23 Windows ...................................................................................................................................................................................................................................................... 23 MacOS .......................................................................................................................................................................................................................................................... 26 运行 hello world!.................................................................................................................................................................................................................................... 28 追踪小球 ....................................................................................................................................................................................................................................................... 29 更改阈值 ....................................................................................................................................................................................................................................................... 30 文件系统 ....................................................................................................................................................................................................................................................... 31 脱机运行 ....................................................................................................................................................................................................................................................... 31 一键下载 ....................................................................................................................................................................................................................................................... 32 供电 ................................................................................................................................................................................................................................................................ 32 SD 卡 .............................................................................................................................................................................................................................................................. 32 图像处理背景知识 ......................................................................................................................................................................................................................................... 34 什么是摄像头? ........................................................................................................................................................................................................................................ 34 什么是像素和分辨率? .......................................................................................................................................................................................................................... 35 2
什么是帧率 .................................................................................................................................................................................................................................................. 35 什么是颜色 .................................................................................................................................................................................................................................................. 35 光源的选择 .................................................................................................................................................................................................................................................. 36 镜头的焦距 .................................................................................................................................................................................................................................................. 36 镜头的滤片 .................................................................................................................................................................................................................................................. 37 Python 背景知识 ............................................................................................................................................................................................................................................. 38 使用 python 的好处 ................................................................................................................................................................................................................................. 38 REPL 和串口 .............................................................................................................................................................................................................................................. 38 Python 语法 ................................................................................................................................................................................................................................................ 39 输出 ................................................................................................................................................................................................................................................................ 39 变量 ................................................................................................................................................................................................................................................................ 39 list 列表 ......................................................................................................................................................................................................................................................... 40 tuple 元组 ..................................................................................................................................................................................................................................................... 41 条件判断 ....................................................................................................................................................................................................................................................... 42 循环 ................................................................................................................................................................................................................................................................ 42 切片 ................................................................................................................................................................................................................................................................ 44 对象 ................................................................................................................................................................................................................................................................ 44 模块 ................................................................................................................................................................................................................................................................ 44 OpenMV 图像处理的方法 ........................................................................................................................................................................................................................... 45 感光元件 ............................................................................................................................................................................................................................................................ 46 初始化 ........................................................................................................................................................................................................................................................... 46 设置彩色/黑白 ........................................................................................................................................................................................................................................ 46 设置图像大小 ............................................................................................................................................................................................................................................. 46 跳过一些帧 .................................................................................................................................................................................................................................................. 46 获取一张图像 ............................................................................................................................................................................................................................................. 46 自动增益/白平衡 .................................................................................................................................................................................................................................... 46 设置窗口 ROI ............................................................................................................................................................................................................................................. 46 设置翻转 ....................................................................................................................................................................................................................................................... 47 图像的基本运算 .............................................................................................................................................................................................................................................. 48 坐标 ................................................................................................................................................................................................................................................................ 48 获取/设置像素点 ....................................................................................................................................................................................................................................... 48 获取图像的宽度和高度 .......................................................................................................................................................................................................................... 48 图像的运算 .................................................................................................................................................................................................................................................. 48 使用图像的统计信息 ..................................................................................................................................................................................................................................... 50 ROI 感兴趣的区域 .................................................................................................................................................................................................................................... 50 Statistics ...................................................................................................................................................................................................................................................... 50 举例 ................................................................................................................................................................................................................................................................ 51 画图 ..................................................................................................................................................................................................................................................................... 52 画线 ................................................................................................................................................................................................................................................................ 52 画框 ................................................................................................................................................................................................................................................................ 52 画圆 ................................................................................................................................................................................................................................................................ 52 画十字 ........................................................................................................................................................................................................................................................... 52 写字 ................................................................................................................................................................................................................................................................ 52 例子 ................................................................................................................................................................................................................................................................ 53 寻找色块 ............................................................................................................................................................................................................................................................ 54 find_blobs 函数 ......................................................................................................................................................................................................................................... 54 3
阈值 ................................................................................................................................................................................................................................................................ 54 颜色阈值选择工具 .................................................................................................................................................................................................................................... 55 blobs 是一个列表 ..................................................................................................................................................................................................................................... 56 blob 色块对象 ............................................................................................................................................................................................................................................ 56 AprilTag 标记跟踪 .......................................................................................................................................................................................................................................... 58 AprilTag 简介 ............................................................................................................................................................................................................................................. 58 AprilTag 的种类 ......................................................................................................................................................................................................................................... 58 制作 AprilTag ............................................................................................................................................................................................................................................. 58 程序 ................................................................................................................................................................................................................................................................ 59 3D 定位.......................................................................................................................................................................................................................................................... 60 扩展阅读:................................................................................................................................................................................................................................................... 61 模版匹配 NCC.................................................................................................................................................................................................................................................. 62 模板匹配和特征点检测的比较: ......................................................................................................................................................................................................... 64 多模版匹配 NCC ............................................................................................................................................................................................................................................. 66 特征点检测 ....................................................................................................................................................................................................................................................... 68 模板匹配和特征点检测的比较: ......................................................................................................................................................................................................... 68 特征点检测................................................................................................................................................................................................................................................... 68 如何利用 OpenMV 进行测距 ..................................................................................................................................................................................................................... 71 扫码识别 ........................................................................................................................................................................................................................................................... 73 QR 码............................................................................................................................................................................................................................................................. 73 条形码 ............................................................................................................................................................................................................................................................ 74 Data Matrix ................................................................................................................................................................................................................................................... 75 颜色形状同时识别 ........................................................................................................................................................................................................................................ 77 颜色与模板匹配同时识别 .......................................................................................................................................................................................................................... 78 分辨不同人脸 .................................................................................................................................................................................................................................................. 80 高级特征 ........................................................................................................................................................................................................................................................... 83 HAAR ............................................................................................................................................................................................................................................................ 83 HOG ............................................................................................................................................................................................................................................................... 83 LBP ................................................................................................................................................................................................................................................................. 83 OpenMv 也是单片机 ..................................................................................................................................................................................................................................... 83 文件系统 ........................................................................................................................................................................................................................................................... 84 根目录 ........................................................................................................................................................................................................................................................... 84 绝对路径与相对路径 ............................................................................................................................................................................................................................... 84 MicroPython 的文件读写....................................................................................................................................................................................................................... 84 MicroPython 的 OS 模块 ....................................................................................................................................................................................................................... 84 OpenMV 的默认文件 .............................................................................................................................................................................................................................. 85 模块的使用 ...................................................................................................................................................................................................................................................... 86 什么是模块? ............................................................................................................................................................................................................................................. 86 如何使用模块? ........................................................................................................................................................................................................................................ 86 如何添加自定义模块? .......................................................................................................................................................................................................................... 86 pyb 各种外设 .................................................................................................................................................................................................................................................. 88 概览 ................................................................................................................................................................................................................................................................ 88 常用的函数 .................................................................................................................................................................................................................................................. 89 LED ................................................................................................................................................................................................................................................................ 89 IO .................................................................................................................................................................................................................................................................... 89 Servo ............................................................................................................................................................................................................................................................. 89 4
IO 中断 .......................................................................................................................................................................................................................................................... 90 定时器 ........................................................................................................................................................................................................................................................... 90 PWM .............................................................................................................................................................................................................................................................. 90 ADC ................................................................................................................................................................................................................................................................ 90 DAC ................................................................................................................................................................................................................................................................ 90 UART ............................................................................................................................................................................................................................................................. 90 SPI .................................................................................................................................................................................................................................................................. 91 I2C .................................................................................................................................................................................................................................................................. 91 字符串简介 json/正则............................................................................................................................................................................................................................... 92 介绍 ................................................................................................................................................................................................................................................................ 92 字符串 ........................................................................................................................................................................................................................................................... 92 字符串操作 .................................................................................................................................................................................................................................................. 92 JSON ............................................................................................................................................................................................................................................................. 93 python 生成 json ........................................................................................................................................................................................................................................ 93 其他单片机的 json 模块 .......................................................................................................................................................................................................................... 94 电脑其他语言的 json 模块 ...................................................................................................................................................................................................................... 94 正则表达式................................................................................................................................................................................................................................................... 94 串口通信上 ...................................................................................................................................................................................................................................................... 95 介绍 ................................................................................................................................................................................................................................................................ 95 传输复杂的数据 ........................................................................................................................................................................................................................................ 95 精简数据 ....................................................................................................................................................................................................................................................... 96 串口通信下 ...................................................................................................................................................................................................................................................... 98 OpenMV 串口调试扩展板 ..................................................................................................................................................................................................................... 98 使用 TTL-USB 模块 ................................................................................................................................................................................................................................. 98 星瞳串口助手 ............................................................................................................................................................................................................................................. 99 运行程序 ....................................................................................................................................................................................................................................................... 99 Arduino 解析程序 ................................................................................................................................................................................................................................... 100 代码 ............................................................................................................................................................................................................................................................. 101 wifi 通信 .......................................................................................................................................................................................................................................................... 103 wifi 扫描 ..................................................................................................................................................................................................................................................... 103 无线传输图像 .......................................................................................................................................................................................................................................... 104 无线传输小球坐标 ................................................................................................................................................................................................................................. 105 只传输一张图片 ..................................................................................................................................................................................................................................... 107 传感器 ............................................................................................................................................................................................................................................................. 109 超声波 ........................................................................................................................................................................................................................................................ 109 红外热释电 ............................................................................................................................................................................................................................................... 109 IMU .............................................................................................................................................................................................................................................................. 109 温度传感器 ............................................................................................................................................................................................................................................... 109 喇叭 ............................................................................................................................................................................................................................................................. 109 电机 .................................................................................................................................................................................................................................................................. 110 步进电机 .................................................................................................................................................................................................................................................... 110 什么是步进电机 ...................................................................................................................................................................................................................................... 110 步进电机驱动板 ...................................................................................................................................................................................................................................... 110 连线 ............................................................................................................................................................................................................................................................. 110 安装模块 .................................................................................................................................................................................................................................................... 110 代码 ............................................................................................................................................................................................................................................................. 111 5
直流电机 .................................................................................................................................................................................................................................................... 111 什么是直流电机 ...................................................................................................................................................................................................................................... 111 驱动板 ......................................................................................................................................................................................................................................................... 111 连线 ............................................................................................................................................................................................................................................................. 112 代码 ............................................................................................................................................................................................................................................................. 112 舵机 ............................................................................................................................................................................................................................................................. 113 连线 ............................................................................................................................................................................................................................................................. 113 检查电源 .................................................................................................................................................................................................................................................... 113 代码 ............................................................................................................................................................................................................................................................. 113 PCA9685 连接多个舵机 ..................................................................................................................................................................................................................... 113 手写第一个模块 ........................................................................................................................................................................................................................................... 115 第一个类 ......................................................................................................................................................................................................................................................... 116 实现一个简单的 Student 类 ................................................................................................................................................................................................................ 116 第一个温度传感器模块 ............................................................................................................................................................................................................................. 116 手动写一个电机模块 ................................................................................................................................................................................................................................. 117 了解控制原理 .......................................................................................................................................................................................................................................... 117 第一步:框架 .......................................................................................................................................................................................................................................... 117 第二步:添加构造函数 ....................................................................................................................................................................................................................... 117 添加硬件实现 .......................................................................................................................................................................................................................................... 118 测试 steps ................................................................................................................................................................................................................................................. 119 添加旋转角度函数 ................................................................................................................................................................................................................................. 119 完成 ............................................................................................................................................................................................................................................................. 120 OpenMv 固件 ................................................................................................................................................................................................................................................ 120 升级固件 ........................................................................................................................................................................................................................................................ 121 常规升级 .................................................................................................................................................................................................................................................... 121 DFU 升级 .................................................................................................................................................................................................................................................. 122 第一步,安装软件 .................................................................................................................................................................................................................................. 122 第二步,下载最新固件 ......................................................................................................................................................................................................................... 122 第三步,进入 DFU 模式 ....................................................................................................................................................................................................................... 123 第四步,烧录固件 .................................................................................................................................................................................................................................. 124 MacOS DFU 升级 ................................................................................................................................................................................................................................. 126 安装软件:................................................................................................................................................................................................................................................ 126 固件下载 .................................................................................................................................................................................................................................................... 126 进入 DFU 模式 ......................................................................................................................................................................................................................................... 126 烧录固件 .................................................................................................................................................................................................................................................... 127 编译固件 ........................................................................................................................................................................................................................................................ 128 获取 Ubuntu ............................................................................................................................................................................................................................................. 128 安装必须使用的软件 ............................................................................................................................................................................................................................ 128 获取项目代码 .......................................................................................................................................................................................................................................... 128 编译 ............................................................................................................................................................................................................................................................. 128 正版授权 ........................................................................................................................................................................................................................................................ 129 License ...................................................................................................................................................................................................................................................... 129 Debug .............................................................................................................................................................................................................................................................. 129 常见代码错误 ............................................................................................................................................................................................................................................... 130 ImportError:no module named xxx ................................................................................................................................................................................................... 130 MemoryError:FB Alloc Collision!!! ...................................................................................................................................................................................................... 130 6
AttributeError:'tuple' object has no attrbute 'rect' ....................................................................................................................................................................... 130 常见故障 ........................................................................................................................................................................................................................................................ 131 OpenMV 插上电脑没反应怎么办? ............................................................................................................................................................................................... 131 OpenMV 和 Arduino/STM32/51 串口连接,但是没有接收到信息怎么办? ................................................................................................................ 131 串口的数据是乱码怎么办? .............................................................................................................................................................................................................. 131 为什么不能上电运行程序呢? ......................................................................................................................................................................................................... 131 为什么不能保存程序到 OpenMV 呢? ......................................................................................................................................................................................... 131 运行程序之后 IDE 里的 没有图像/图像不动 呢? ................................................................................................................................................................. 131 为什么没有右侧的显示图像栏? .................................................................................................................................................................................................... 132 为什么帧率没有标识的那么高? .................................................................................................................................................................................................... 132 记录耗费时间 ............................................................................................................................................................................................................................................... 134 计算帧率 .................................................................................................................................................................................................................................................... 134 计算耗费的时间 ...................................................................................................................................................................................................................................... 134 OpenMV 配件 .............................................................................................................................................................................................................................................. 135 LCD 的使用 .................................................................................................................................................................................................................................................... 136 wifi 通信 .......................................................................................................................................................................................................................................................... 137 wifi 扫描 ..................................................................................................................................................................................................................................................... 137 无线传输图像 .......................................................................................................................................................................................................................................... 138 无线传输小球坐标 ................................................................................................................................................................................................................................. 139 只传输一张图片 ..................................................................................................................................................................................................................................... 141 洞洞板 ............................................................................................................................................................................................................................................................. 143 SD 卡 ............................................................................................................................................................................................................................................................... 144 项目实例 ......................................................................................................................................................................................................................................................... 145 追小球的小车 ............................................................................................................................................................................................................................................... 145 准备材料 .................................................................................................................................................................................................................................................... 145 连接电路,测试电机 ............................................................................................................................................................................................................................ 148 编写小车的模块 ..................................................................................................................................................................................................................................... 148 PID 算法的实现 ...................................................................................................................................................................................................................................... 149 调整参数,实现跟随 ............................................................................................................................................................................................................................ 150 追小球的云台 ............................................................................................................................................................................................................................................... 152 资料下载 .................................................................................................................................................................................................................................................... 152 材料 ............................................................................................................................................................................................................................................................. 152 连接 ............................................................................................................................................................................................................................................................. 152 代码 ............................................................................................................................................................................................................................................................. 152 巡线小车 ......................................................................................................................................................................................................................................................... 154 追小球的小车................................................................................................................................................................................................................................................ 155 连接电路,测试电机 ............................................................................................................................................................................................................................ 158 编写小车的模块 ..................................................................................................................................................................................................................................... 158 PID 算法的实现 ...................................................................................................................................................................................................................................... 159 调整参数,实现跟随 ............................................................................................................................................................................................................................ 160 例程解析 ......................................................................................................................................................................................................................................................... 162 网址:http://book.openmv.cc/example.html ................................................................................................................................................................................ 162 7
序言 OpenMV 嵌入式图像处理 OpenMV 中国官方代理(星瞳科技): OpenMV 中文首页: http://openmv.cc 上手教程,视频教程,详细参数,中文文档,软件下载链接都在 http://openmv.cc 论坛是提问的第一选择,论坛地址:https://forum.singtown.com/category/5/openmv-cam QQ 交流群: 324391148 立即购买: https://kaizhi-xu.taobao.com/ OpenMV 官网: https://www.openmv.io OpenMV 中国网站: http://www.openmv.cc 版权所有 本书版权所属广州星瞳信息科技有限责任公司,未经授权禁止一切形式的转载抄袭,侵权必究。 本书适合什么人? • 对嵌入式机器视觉感兴趣的人。 • 对 OpenMV 感兴趣,并想在项目里使用 OpenMV 的人。 • 对计算机视觉感兴趣的人,通过 OpenMV,可以做出一些好玩的项目,激发学习计算机视觉的兴趣,而不会卡在傅立叶变 化,小波变换,滤波之类的事情上。 OpenMV 是什么? 简单的来说,它是一个可编程的摄像头,通过 MicroPython 语言,可以实现你的逻辑。 而且摄像头本身内置了一些图像处理算法,很容易使用。 8
分享到:
收藏