maixcam如何無腦執行執行別人的模型(以安全帽模型為例)

wuboy19發表於2024-04-25

maixcam如何無腦執行執行別人的模型(以安全帽模型為例)

本文章主要講如何部署上傳的模型檔案,以及如果你要把你模型按照該流程應該怎麼修改,你可以透過該文章得到你想要的應該,該應用也包含的退出按鈕,是螢幕退出按鈕,因為螢幕退出方便,所以我引用了sipeed的退出圖片,之前的應用沒設定退出,非常感謝Neucrack大佬在群中發的有關觸控式螢幕的使用,自己也參考了api文件,直接上乾貨!!!

如何去使用別人模型應用(我以我的模型為例子)

安裝模型應用

掃碼安裝(方式1)

https://maixhub.com/app網址上目前應該上傳的模型應用不多,目前映象的話還不支援線上下載,後續應該會支援

picture 0

maixvision軟體安裝模型應用到maixcam(方式2,目前博主是ok的)

(1)下載並解壓模型
例如下載本部落格的附件maix-hat_detect-v3.0.0.zip並解壓
可以得到下面一些檔案

picture 1

picture 2

(2)安裝模型

開啟maixvison然後開啟上述解壓的資料夾

picture 3

picture 4

選擇應用檔案,然後全部勾選點選打包,並安裝應用
picture 5

picture 6

picture 7

picture 8

斷開連線,執行應用

picture 9

點選左上角可以退出應用,後面講解如何修改為自己的
picture 10

刪除應用可以點選app store,解除安裝應用

picture 11

影片演示連結:
https://www.bilibili.com/video/BV1YZ421n7ui/?spm_id_from=333.999.0.0

該模型整個的壓縮包在該檔案附件中

如何修改為自己的模型應用

從主函式程式碼可以看到我匯入了sipeed退出圖片,使用了ts.read()去讀取觸控座標,再次感謝Neucrack大佬,具體細節可以看api文件,主要就是ts.read()返回一個list,如[0,0,0],其中前兩個為x,y座標,第三個是否觸控狀態,觸控了就為1。

博主自己的程式碼

from maix import camera, display, image, nn, app,time,touchscreen

detector = nn.YOLOv5(model="./yolov5s_hat.mud")
cam = camera.Camera(detector.input_width(), detector.input_height(), detector.input_format())
dis = display.Display()
ts = touchscreen.TouchScreen()
stop_app_img = image.load("./ret.png")
while not app.need_exit():
    img = cam.read()
    img.draw_image(0, 0, stop_app_img)
    state = ts.read()
    if state[2]==1:
        if(state[0]>0 and state[0]<60)and(state[1]>0 and state[1]<60):
            print(123)
            app.set_exit_flag(True)
    objs = detector.detect(img, conf_th = 0.5, iou_th = 0.45)
    for obj in objs:
        img.draw_rect(obj.x, obj.y, obj.w, obj.h, color = image.COLOR_RED)
        msg = f'{detector.labels[obj.class_id]}: {obj.score:.2f}'
        img.draw_string(obj.x, obj.y, msg, color = image.COLOR_RED)
    dis.show(img)

修改你自己的模型只需要替換mud檔案以及cvmodel檔案,以及記得把這些檔案放置到同級目錄下,不然找不到路徑!!!

感謝

感謝Neucrack大佬

相關文章