基于MaixPy的摄像头模块---MicroPython图像处理

1. 什么是 MaixPy

MaixPy 是将 Micropython 移植到 K210( 一款64位双核带硬件FPU和卷积加速器的 RISC-V CPU, ) 的一个项目, 支持 MCU 常规操作, 更集成了机器视觉和麦克风阵列, 以快速开发具有极低成本和体积实用的 AIOT 领域智能应用。

MicroPython 是基于 Python3 的语法做的一款解析器,包含了 Python3 的大多数基础语法, 主要运行在性能和内存有限的嵌入式芯片上。(注意 Micropython 不包含 Python3 的所有语法)

K210 在硬件上集成了机器视觉和机器听觉能力, 是一款定位 AI 和 AIOT 市场的SoC,同时也是一颗方便的MCU, 性能强劲的同时却有着极低的价格。

Micropython 让我们在 K210 上编程更加简单快捷, 我们也将源代码开源在 github 上。

比如我们需要寻找I2C总线上的设备,只需要使用如下代码即可实现:

from machine import I2C

i2c = I2C(I2C.I2C0, freq=100000, scl=28, sda=29)
devices = i2c.scan()
print(devices)

同样,我们需要实现一个呼吸灯,只需要如下代码:

from machine import Timer,PWM
import time

tim = Timer(Timer.TIMER0, Timer.CHANNEL0, mode=Timer.MODE_PWM)
ch = PWM(tim, freq=500000, duty=50, pin=board_info.LED_G)
duty=0
dir = True
while True:
    if dir:
        duty += 10
    else:
        duty -= 10
    if duty>100:
        duty = 100
        dir = False
    elif duty<0:
        duty = 0
        dir = True
    time.sleep(0.05)
    ch.duty(duty)

实时拍照

import sensor
import image
import lcd

lcd.init()
sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.run(1)
while True:
    img=sensor.snapshot()
    lcd.display(img)

2.  Maix Camera能做哪些事

大多数是在 MaixPy 上已经有 API, 部分可能来自 Maixduino 或者其它开发者~

  • 人脸检测
  • MobileNet 物体识别
  • tiny yolov2 20分类
  • 识别颜色值、找形状、找直线、面部识别等
  • MNIST 手写数字识别
  • Feature map 显示
  • 视频播放和录制
  • NES 游戏模拟器 (FC 红白机)
  • GBA 游戏模拟器
  • 游戏 Quake I
  • 游戏 Doom
  • MMD 3D 实时渲染
  • GUI 界面 littlevGL
  • 云台脸部跟踪
  • 麦克风阵列
  • FFT 频谱图

3.  移植了OpenMV的机器视觉库

支持单目摄像头和双目摄像头,传感器模块,进行摄像头配置及图像抓取等,用于控制开发板摄像头完成摄像任务。

DIY相关的项目制作,比如追踪小球的车,云台,或者解魔方的机器人。

对成本要求很高的嵌入式工业方案,比如流水线物品的分拣。

视频录制、视频播放、音频录制、音频播放、人脸识别、人眼追踪、特征检测等等,大量的图像处理功能

4.最简单的摄像头图像例程

例程说明:实时采集并显示图像在TFT屏上,并获取和显示实时帧数

import sensor
import image
import lcd
import time

clock = time.clock()
lcd.init()
sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.run(1)
sensor.skip_frames(30)
while True:
    clock.tick()
    img = sensor.snapshot()
    fps =clock.fps()
    img.draw_string(40,2, ("%2.1ffps" %(fps)), color=(128,0,0), scale=2)
    lcd.display(img)

5.MaixCAM摄像头模块

 

  • 6
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.Lanson

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值