14.零基础学MaixPy之机器视觉

#零基础学MaixPy之机器视觉
#实验程序之一:affine 仿射变换(实时缩放)

import image
import lcd, sensor
import time

lcd.init()

lcd.init(type=2, freq=20000000)
sensor.reset(freq=24000000)
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)

matrix = image.get_affine_transform([(0,0), (240, 0), (240, 240)], [(60,60), (240, 0), (220, 200)])
print(“matrix:”)
print(“[{:.02f}, {:.02f}, {:.02f}]”.format(matrix[0], matrix[1], matrix[2]))
print(“[{:.02f}, {:.02f}, {:.02f}]”.format(matrix[3], matrix[4], matrix[5]))
print(“[{:.02f}, {:.02f}, {:.02f}]”.format(matrix[6], matrix[7], matrix[8]))

try:
del img
del img2
except Exception:
pass

img2 = image.Image(size=(320, 240))
img2.pix_to_ai()
flag = False
while 1:
img = sensor.snapshot()
image.warp_affine_ai(img, img2, matrix)

img2.ai_to_pix()
if flag:
    lcd.display(img2)
else:
    lcd.display(img)
flag = not flag
time.sleep_ms(500)

matrix = image.get_affine_transform([(0,0), (240, 0), (240, 240)], [(60,60), (240, 0), (220, 200)])

matrix = image.get_affine_transform([(0,0), (240, 0), (240, 240)], [(40,80), (100, 60), (220, 180)])
#零基础学MaixPy之机器视觉
#实验程序之一:affine 仿射变换(实时缩放)之二

import image
import lcd, sensor
import time

lcd.init()

lcd.init(type=2, freq=20000000)
sensor.reset(freq=24000000)
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)

matrix = image.get_affine_transform([(0,0), (240, 0), (240, 240)], [(40,80), (100, 60), (220, 180)])
print(“matrix:”)
print(“[{:.02f}, {:.02f}, {:.02f}]”.format(matrix[0], matrix[1], matrix[2]))
print(“[{:.02f}, {:.02f}, {:.02f}]”.format(matrix[3], matrix[4], matrix[5]))
print(“[{:.02f}, {:.02f}, {:.02f}]”.format(matrix[6], matrix[7], matrix[8]))

try:
del img
del img2
except Exception:
pass

img2 = image.Image(size=(320, 240))
img2.pix_to_ai()
flag = False
while 1:
img = sensor.snapshot()

image.warp_affine_ai(img, img2, matrix)

img2.ai_to_pix()
if flag:
    lcd.display(img2)
else:
    lcd.display(img)
flag = not flag
time.sleep_ms(300)

#零基础学MaixPy之机器视觉
#实验程序之二:image deal 图像处理(深色浮雕)

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


评论:
相关文章
K210 上手(避坑)指南

这篇文档以 SIPEED MaixDuino 的使用为示例说明,并且大部分内容通用于 K210 系列开发板,可供购入 K210 系列顾客参考使用。


嵌入式AI从入门到放肆【K210篇】-- 硬件与环境

本文从芯片架构,到开发板选型,再到软件开发环境的搭建介绍了关于K210的基础ABC,这块KPU其实有很多有意思的应用,我会在后面的文章中进行更多介绍,包括SDK中各个模块的使用方式,以及如何将自己的AI模型部署到K210上面去运行。


K210开发环境搭建 、开发文档、常见问题、开发板选择

勘智K210采用RISC-V处理器架构,具备视听一体、自主IP核与可编程能力强三大特点,支持机器视觉与机器听觉多模态识别,可广泛应用于智能家居、智能园区、智能能耗和智能农业等场景。


MaixCube

MaixCube 是基于Sipeed M1n 模块(主控:Kendryte K210)开发的一款集学习开发和商用一体的人脸识别产品。


MaixPy是什么?

MaixPy 是将 Micropython 移植到 K210 的一个项目,不但支持 MCU 常规操作, 还集成了硬件加速的 AI 机器视觉和麦克风阵列相关的算法。

Maixduino系列实验

作者:驴友花雕、eagler8   共16讲

Maixduino系列实验,MaixPy零基础学习。