写在前面:参考教程:
openmv的官方文档
k210官方文档
⭐⭐⭐⭐⭐【超实用】精品教程汇总贴⭐⭐⭐⭐⭐ (sipeed.com)
推荐新手入门跟学
k210简介:
K210是由一家叫做嘉楠的公司推出的一款MCU,其特色在于芯片架构中包含了一个自研的神经网络硬件加速器KPU,可以高性能地进行卷积神经网络运算。
图像处理背景知识:
摄像头:
那么什么是摄像头,说到底,就是一个将光学信号转变成电信号的一个装置。在计算机视觉中,最简单的相机模型是小孔成像模型:
图像透过镜头,照在一个感光芯片上,感光芯片可以把光照的波长和强度等信息转成计算机(数字电路)可以识别的数字信号
像素和分辨率:
感光元件是有很多个感光点构成的,比如有640*480个点,每个点就是一个像素
帧率:
简单那来讲就是每秒钟处理的图片数量,如果超过20帧,人眼就基本分辨不出卡顿。
颜色:
物理上,颜色就是不同波长的电磁波。但是,根据人眼的视觉效果,可以通过RGB,CMYK,HSB,LAB色域,来将可见光的颜色描述出来。
LAB:
Lab颜色空间中,L亮度;a的正数代表红色,负端代表绿色;b的正数代表黄色,负端代表兰色。不像RGB和CMYK色彩空间,Lab颜色被设计来接近人类视觉。
因此L分量可以调整亮度对,修改a和b分量的输出色阶来做精确的颜色平衡。
镜头焦距:
镜头焦距:是指镜头光学后主点到焦点的距离,当对同一距离远的同一个被摄目标拍摄时,镜头焦距长的所成的象大,镜头焦距短的所成的象小。注意焦距越长,视角越小。
串口终端:
我们直接在终端里面敲代码来一句一句执行,这样也简单方便,我们输入命令后会立即执行并及时得到返回的结果,这种交互方式称为 REPL(Read Eval Print Loop:交互式解释器)
, 这种方式的好处就是简单方便,使用起来和 Linux 终端十分相似,只是使用的语法换成了 MaixPy(Micropython)的语法。
连接上开发板后打开串口终端
打开终端,选择相应的串口后进入编辑界面
这样就是等待我们编辑代码的状态
按一下复位键可以查看当前固件版本:如果开发过程中一直莫名报错,比如摄像头代码用不了可以考虑更新到最新版本
串口终端内粘贴代码需要先按ctrl E(ctrl E是为了按回车的时候是换行而不是运行代码)后再右键粘贴,之后再按ctrl D就可以运行了。
如果直接粘贴的话代码是不会分行的,会报语法错误
当然如果数据量比较大,串口可能丢失数据,会导致提示语法错误,可以多试几次。
python快速入门:
print语句:
赋值:
python定义变量的时候不需要指定变量类型,属于动态语言,且同一变量可以多次被不同类型的数据赋值
List列表:
Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素,跟C的数组很像;-
-
定义:
定义完了后输入list的名称即可打印出来
-
求元素个数:
-
索引:
-
末尾添加元素:
-
插入:
-
删除末尾元素;
Tuple元组:
另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改,它也没有append(),insert()这样的方法。Tuple的语法表达是用小括号的,
条件判断:
跟C类似,这里就不多讲了
age = 20
if age >= 6:
print('teenager')
elif age >= 18:
print('adult')
else:
print('kid')
循环:
for循环:
for x in …循环就是把每个元素代入变量x,然后执行缩进块的语句。
names = ['Michael', 'Bob', 'Tracy']
for name in names:
print(name)
while循环:
sum = 0
n = 99
while n > 0:
sum = sum + n
n = n - 2
print(sum)
函数:
语法:def 函数名(位置参数)
def power(x, n):
s = 1
while n > 0:
n = n - 1
s = s * x
return s
切片:
L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack']
L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3。即索引0,1,2,正好是3个元素,也就是
['Michael', 'Sarah', 'Tracy']
如果第一个索引是0,还可以写成L[:3]
也可以从索引1开始,取出2个元素出来:
L[1:3]
['Sarah', 'Tracy']
对象:
Python是面向对象编程的,比如点亮一个LED灯
from pyb import LED
red_led = LED(1)
red_led.on()
maixbit相关参数:
因为我用的是maixbit,所以就只介绍这块,其他板子资料可以在这个网址找:下载站 - Sipeed
需要用的是这三个pdf
存储系统:
maixpy存储系统大致如下:
MaixPy 中的存储介质主要由Flash和SD卡组成,大致分为3个区域:分别是 MaixPy.bin 固件区,xxx.kmodel 模型区(flash模型区不大,只能放小模型,大模型还是要放入SD卡中),文件系统区;
具体看这篇:【MaixPy快速上手】存储系统介绍 (sipeed.com)
脱机运行:
点击工具,再点击将打开的文件保存为boot.py,这样开发板一上电就会运行我们的脚本了(有可能需要按一下复位)。