maixcam如何無腦執行執行別人的模型(以安全帽模型為例)
本文章主要講如何部署上傳的模型檔案,以及如果你要把你模型按照該流程應該怎麼修改,你可以透過該文章得到你想要的應該,該應用也包含的退出按鈕,是螢幕退出按鈕,因為螢幕退出方便,所以我引用了sipeed的退出圖片,之前的應用沒設定退出,非常感謝
Neucrack
大佬在群中發的有關觸控式螢幕的使用,自己也參考了api文件,直接上乾貨!!!
如何去使用別人模型應用(我以我的模型為例子)
安裝模型應用
掃碼安裝(方式1)
https://maixhub.com/app
網址上目前應該上傳的模型應用不多,目前映象的話還不支援線上下載,後續應該會支援
maixvision軟體安裝模型應用到maixcam(方式2,目前博主是ok的)
(1)下載並解壓模型
例如下載本部落格的附件maix-hat_detect-v3.0.0.zip
並解壓
可以得到下面一些檔案
(2)安裝模型
開啟maixvison然後開啟上述解壓的資料夾
選擇應用檔案,然後全部勾選點選打包,並安裝應用
斷開連線,執行應用
點選左上角可以退出應用,後面講解如何修改為自己的
刪除應用可以點選app store,解除安裝應用
影片演示連結:
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
大佬