K210人脸识别代码bug

前言

这两天在使用K210的人脸识别功能是发现了代码bug,之前是使用SD卡进行人脸识别实验,下载到flash并使用IDE时出现了ValueError:arg is an empty sequence,这个代码时spieed代码仓库的代码,更换maixhub下载的人脸识别模型所带的代码后问题解决。

在这里插入图片描述
更换代码如下:


import sensor
import image
import lcd
import KPU as kpu
import time
from Maix import FPIOA, GPIO
import gc
from fpioa_manager import fm
from board import board_info
import utime

task_fd = kpu.load(0x300000)
task_ld = kpu.load(0x400000)
task_fe = kpu.load(0x500000)

#task_fd = kpu.load("/sd/FaceDetection.smodel")
#task_ld = kpu.load("/sd/FaceLandmarkDetection.smodel")
#task_fe = kpu.load("/sd/FeatureExtraction.smodel")

clock = time.clock()

fm.register(board_info.BOOT_KEY, fm.fpioa.GPIOHS0)
key_gpio = GPIO(GPIO.GPIOHS0, GPIO.IN)
start_processing = False

BOUNCE_PROTECTION = 50


def set_key_state(*_):
    global start_processing
    start_processing = True
    utime.sleep_ms(BOUNCE_PROTECTION)


key_gpio.irq(set_key_state, GPIO.IRQ_RISING, GPIO.WAKEUP_NOT_SUPPORT)

lcd.init()
sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.set_hmirror(1)
sensor.set_vflip(1)
sensor.run(1)
anchor = (1.889, 2.5245, 2.9465, 3.94056, 3.99987, 5.3658, 5.155437,
          6.92275, 6.718375, 9.01025)  # anchor for face detect
dst_point = [(44
### K210 芯片人脸识别完整代码示例 对于K210芯片的人脸识别应用,完整的Python代码如下所示。这段代码可以在MaixPy框架下执行,并且能够实现基本的人脸检测功能。 ```python import sensor, image, lcd, time from maix import KPU def main(): # 初始化传感器并设置参数 sensor.reset() sensor.set_pixformat(sensor.RGB565) sensor.set_framesize(sensor.QVGA) sensor.run(1) # 设置LCD方向 lcd.init() # 加载人脸检测模型 task_fd = KPU.load("/sd/face_detection.smodel") while True: img = sensor.snapshot() # 获取图像帧 fmap = img.copy().resize(128, 128).to_grayscale().binary([(79, 100)], invert=True) # 预处理图片 # 运行人脸检测算法 fmap.pix_to_ai() kpu_run_res = KPU.forward(task_fd, fmap) fps_clock = time.clock() fps_clock.tick() if kpu_run_res != None: props = kpu_run_res[:] for i in range(len(props)//4): x = int(props[i*4+0]*img.width()) y = int(props[i*4+1]*img.height()) w = int(props[i*4+2]*img.width()) - x h = int(props[i*4+3]*img.height()) - y # 绘制矩形框标记人脸位置 img.draw_rectangle(x,y,w,h,color=(0,255,0),thickness=2,scale=1.0) print("Detected face at ({},{}), width={}, height={}".format(x, y, w, h)) lcd.display(img) # 显示结果到屏幕上 if __name__ == "__main__": try: main() finally: KPU.deinit() # 清理资源 ``` 上述代码实现了基于K210平台的人脸检测流程[^1]。该程序会持续捕获来自摄像头的画面,在其中查找是否存在人脸,并用绿色方框标注出找到的脸部区域;同时还会向串口输出每一张被发现的人脸坐标信息。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值