maixpy 常用例程整理
基础控制K210例程
1.1 使用屏幕和摄像头
- 例程
import sensor, lcd
sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.run(1)
sensor.skip_frames()
lcd.init(freq=15000000)
while(True):
lcd.display(sensor.snapshot())
- 代码讲解
import sensor, lcd: 首先导入内置的sensor(摄像头)库和lcd(屏幕)库sensor.reset(): 初始化摄像头,这里失败需要检查硬件sensor.set_pixformat(sensor.RGB565): 设置摄像头为RGB565格式,默认都是用RGB565即可sensor.set_framesize(sensor.QVGA): 分辨率为QVGA,即320x240sensor.run(1): 开始运行,在现在的版本中也可以不调用,在上面设置完成后,摄像头会自动开始运行sensor.skip_frames(): 摄像头刚启动时,图像质量还没稳定,所以跳过一些图像lcd.init(freq=15000000): 初始化 LCD, 这里传了一个参数叫freq即频率, 是指定驱动 LCD 的时钟频率,这里是15MHz,可以根据硬件性能调整while(True): 这是一个循环,循环里面的代码会被不停地运行sensor.snapshot():从摄像头取一帧图像数据,返回值是一张图像的对象lcd.display(): 显示图像到 LCDlcd.display(sensor.snapshot()): 这里就是先执行括号里的获取图像,返回值直接作为参数给 LCD 进行显示
1.2 点亮LED
- 例程
from fpioa_manager import fm
from Maix import GPIO
import time
io_led_red = 6 # 对应管脚号6
fm.register(io_led_red, fm.fpioa.GPIO0)
led_r=GPIO(GPIO.GPIO0, GPIO.OUT)
led_r.value(0)
time.sleep(1)
led_r.value(0)
- 代码讲解
- 从
fpioa_manager包导入fm对象,主要用于引脚和外设的映射- 从包
Maix导入了GPIO这个类, GPIO 外设相关操作- 定义一个变量
io_led_red,值为6,即Pin6/IO6, 具体 LED 的引脚连接到了芯片的哪个引脚,请在前面的开发板介绍中看原理图- 使用
fm(fpioa manager 的缩写)这个内置的对象来注册芯片的外设和引脚的对应关系, 这里fm.fpioa.GPIO0是 K210 的一个 GPIO 外设(注意区分 GPIO(外设) 和引脚(实实在在的硬件引脚)的区别), 所以把fm.fpioa.GPIO0注册到了 引脚IO6;- 然后定义一个
GPIO对象led_r, 具体参数看GPIOAPI 文档, 在左边侧边栏查找。- 使用
led_r.value(1)或者led_r.value(0)来设置高低电平即可, 因为这里设置了低电平, 根据上面的原理图可知低电平导通,LED 灯亮
1.3 硬件加速图像处理
- 例程
import sensor
import image
import lcd
import time
lcd.init(freq=15000000)
sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.run(1)
origin = (0,0,0, 0,1,0, 0,0,0)
edge = (-1,-1,-1,-1,8,-1,-1,-1,-1)
sharp = (-1,-1,-1,-1,9,-1,-1,-1,-1)
relievo = (2,0,0,0,-1,0,0,0,-1)
tim = time.time()
while True:
img=sensor.snapshot()
img.conv3(edge)
lcd.display(img)
if time.time() -tim >10:
break
tim = time.time()
while True:
img=sensor.snapshot()
img.conv3(sharp)
lcd.display(img)
if time.time() -tim >10:
break
tim = time.time()
while True:
img=sensor.snapshot()
img.conv3(relievo)
lcd.display(img)
if time.time() -tim >10:
break
lcd.clear()
- 代码讲解
分别对图像进行了
边缘查找,锐化,浮雕化, 利用了卷积计算快速得到结果。
maixpy 常用例程整理的更多相关文章
- NiosII常用函数整理
NiosII常用函数整理 IO操作函数函数原型:IORD(BASE, REGNUM) 输入参数:BASE为寄存器的基地址,REGNUM为寄存器的偏移量函数说明:从基地址为BASE的设备中读取寄存器中偏 ...
- MAC机常用快捷键整理表格
MAC机常用快捷键整理表格 范围 快捷键 说明 图形 (Command 键)在某些 Apple 键盘上,此键也可能为标志() Control (Control 键) Alt Opt ...
- sublime常用快捷键整理(未完待续)
sublime常用快捷键整理: 基本操作 cmd+o 打开文件 cmd+w 关闭当前tab cmd+n 打开新页 cmd+shift+n 打开刚刚关闭的页签 一.选择命令 1.多个单词选择 cmd+d ...
- zendStudio常用快捷键整理
在来一发zendstudio的常用快捷键整理,今天心情不错哈哈 Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ct ...
- 常用DOM整理
常用DOM整理 前言: html为document搭建了一棵DOM树,这棵树就是有一系列Node节点所构成的.他为我们定义了文档的结构. Node类型: Node.ELEMENT_NODE(1); ...
- NSIS常用代码整理
原文 NSIS常用代码整理 这是一些常用的NSIS代码,少轻狂特意整理出来,方便大家随时查看使用.不定期更新哦~~~ 1 ;获取操作系统盘符 2 ReadEnvStr $R0 SYSTEMDRIVE ...
- javascript中字符串常用操作整理
javascript中字符串常用操作整理 字符串的操作在js中非常频繁,也非常重要.以往看完书之后都能记得非常清楚,但稍微隔一段时间不用,便会忘得差不多,记性不好是硬伤啊...今天就对字符串的一些常用 ...
- Win7常用快捷键整理
Win7常用快捷键整理.. -------------------- Win + Pause:显示系统属性对话框 ------------------------------------ Win7系统 ...
- python 常用库整理
python 常用库整理 GUI 图形界面 Tkinter: Tkinter wxPython:wxPython pyGTK:PyGTK pyQt:pyQt WEB框架 django:django w ...
- 【linux】---常用命令整理
linux常用命令整理 一.ls命令 就是list的缩写,通过ls 命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录.文件夹.文件权限)查看目录信息等等 常用参数搭配: l ...
随机推荐
- springboot报错说 Failed to parse multipart servlet request; nested exception is java.io.IOException
问题:一次开发中遇到一个springboot的异常,如下所示:Failed to parse multipart servlet request; nested exception is java.i ...
- nnUNet 论文解析
一些废话: 毕业论文用 nnUNet 及其自带的功能大概做了一个医学图像的分割模块.现将自己在学习过程中看过的相关论文及相关能找到的笔记记录整理在此.一些浅显的内容目的是在为自己做记录的同时,也希望能 ...
- Ceph-集群内分布式存储解决方案及基于Docker的部署
打造集群高可用分布式存储Ceph很早以前在玩集群的时候就折腾过分布式存储服务来作为跨节点的数据共享和可靠存储,以前尝试过GlusterFS,但是由于读写速度实在是太低,就放弃了.见基于GlusterF ...
- 区块链特辑——solidity语言基础(二)
Solidity语法基础学习 四.函数类型: 函数 Function function FnName [V] [SM] [return (--)] {} ·[V]:Visibility,可见性: ·[ ...
- netstat 与 ss 比较
一.netstat 命令 1. 核心功能 显示网络连接.路由表.接口统计等信息. 支持TCP.UDP.UNIX域套接字等协议. 可查看进程与端口的关联. 2. 常用语法示例 查看所有活动连接 nets ...
- nodejs目录与文件遍历
路径相关函数 path.basename('/foo/bar/baz/asdf/quux.html'); // Returns: 'quux.html' path.basename('/foo/bar ...
- C 图上的遍历算法
图上的遍历算法 广度优先搜索 BFS 概念 广度优先搜索(Breadth-First Search)是一种图遍历算法,用于在图或树中按层次逐层访问节点.它从源节点(起始节点)开始,首先访问源节点的所有 ...
- 解决VSCODE进行C代码编辑时结构体成员不可见或不提示的问题
在使用VSCODE进行C代码编辑时,结构体成员有时可见,光标放到成员上时,系统会提示结构体成员对应的注释信息,但是有时候却不行. 经过测试,发现有如下规律:以test.c test.h include ...
- JavaScript Library – Embla Carousel
前言 2022 年 4 月,我写了一篇 Swiper 介绍. Swiper 是当时前端最多人使用的 Slider 库,没有之一,一骑绝尘. 但是!时过境迁,这两年已经有一匹神秘的黑马悄悄杀上来了. 它 ...
- 题解:UVA12517 Digit Sum
数位 dp 模板题-- 题目大意 给你两个数 l,rl,rl,r,求出 l,rl,rl,r 之间所有数的数位和. 什么是数位和? 举个栗子,有一个数 123123123,那么他的数位和,即各个数位的和 ...