2447浏览
查看: 2447|回复: 0

[官方教程] 基于MaixPy的摄像头模块---MicroPython图像处理

[复制链接]

基于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 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摄像头模块

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

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

原文链接:https://blog.csdn.net/solar_Lan/article/details/103483308

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail