K210視覺識別模塊學習筆記2:固件的下載升級_官方數字識別例程導入方法

今日開始學習K210視覺識別模塊:固件的下載升級_官方數字識別例程導入方法

主要學習如何升級固件庫,在哪下載固件庫,以及如何在TF卡正確導入官方例程:

亞博智能的K210視覺識別模塊......??

固件庫版本:? canmv_yahboom_v2.1.1.bin

本次最終目的是正確導入官方的數字識別例程,并運行測試:?

目錄

固件的下載升級:

固件下載網址:

k_falsh下載網址:

k_flash 操作下載固件:

官方數字識別例程導入:

例程導入步驟:

例程測試效果:

例程代碼解釋:

網上學習網址貼出:


固件的下載升級:

K210下載更新固件主要是為了修復錯誤、提高性能、添加新功能、增強兼容性、保障安全性以及解決用戶在使用中遇到的問題,從而提供更好的用戶體驗?

固件下載網址:

下載站 - Sipeed

k_falsh下載網址:

https://github.com/sipeed/kflash_gui/releases

注意選擇適合自己電腦系統的包,(我的是windows),解壓后找到.exe 就能使用:
?

k_flash 操作下載固件:

1、首先USB連接K210到電腦

2、打開kflash的可執行文件

3、最后一步就是先選擇之前下好的固件文件,然后別忘了選定正確的串口號與波特率

(波特率一般是115200)

官方數字識別例程導入:

例程導入步驟:

1、拔出K210的TF卡,將其放入讀卡器插入電腦:

2、找到官方例程的KPU文件夾,直接復制到TF卡:

這里面一般都是官方訓練好的模型文件,該文件夾會在例程中被調用,因此千萬不可自行更改名稱!

3、復制手寫數字識別的py文件到TF卡,并更名為 main.py:

例程測試效果:

例程代碼解釋:

import sensor, image, time, lcd # 導入必要的庫,包括攝像頭傳感器、圖像處理、時間處理和液晶顯示屏控制庫  
from maix import KPU # 導入KPU庫,用于在K210芯片上運行神經網絡 
import gc # 導入垃圾收集庫,用于釋放不再使用的內存  lcd.init() # 初始化LCD顯示屏  
sensor.reset()  # 重置攝像頭傳感器  
sensor.set_pixformat(sensor.RGB565) # 設置攝像頭的像素格式為RGB565,這是一種顏色深度較低的格式,可以節省內存和處理時間  
sensor.set_framesize(sensor.QVGA) # 設置攝像頭捕獲的圖像大小為QVGA(320x240像素) 
sensor.set_windowing((224, 224)) # 設置攝像頭捕獲的感興趣區域(ROI)為224x224像素,這通常是為了匹配神經網絡模型的輸入大小  
sensor.skip_frames(time = 100) # 跳過攝像頭的前100幀,以便讓攝像頭穩定下來,避免初始化時的噪點  
clock = time.clock() # 初始化一個時間計數器,代碼中沒有它的進一步使用 kpu = KPU() # 創建一個KPU對象,用于加載和運行神經網絡模型
# 加載預訓練的神經網絡模型,該模型位于SD卡的指定路徑下,并用于識別MNIST手寫數字數據集
kpu.load_kmodel("/sd/KPU/mnist/uint8_mnist_cnn_model.kmodel")while True:  # 無限循環,持續捕獲圖像并進行識別  gc.collect()  # 調用垃圾收集器,釋放不再使用的內存 img = sensor.snapshot() # 從攝像頭捕獲一幀圖像  img_mnist1=img.to_grayscale(1) # 將捕獲的圖像轉換為灰度圖像,這有助于減少計算量,因為MNIST數據集是灰度圖像 img_mnist2=img_mnist1.resize(112,112) # 將灰度圖像縮放到112x112像素 img_mnist2.invert()  # 對圖像進行反色處理,可能是為了增強圖像的對比度或其他預處理目的 img_mnist2.strech_char(1) # 這可能是一個自定義函數,用于對圖像進行某種形式的拉伸或字符增強處理img_mnist2.pix_to_ai() # 這可能是一個自定義函數,用于將圖像數據轉換為神經網絡可以處理的格式  # 使用KPU運行神經網絡模型,并獲取模型的輸出,這里`getlist=True`表示返回一個列表,包含了所有類別的得分  out = kpu.run_with_output(img_mnist2, getlist=True)max_mnist = max(out) # 找到輸出列表中得分最高的項  index_mnist = out.index(max_mnist)  # 找到得分最高項在列表中的索引,這代表了預測的類別score = KPU.sigmoid(max_mnist)  # 對最高得分應用sigmoid函數,將其轉換為0到1之間的概率值# 如果預測的數字是1,并且概率非常高(大于0.999)# 在圖像上繪制識別的數字,并在控制臺上打印結果  if index_mnist == 1:if score > 0.999:display_str = "num: %d" % index_mnistprint(display_str, score)img.draw_string(4,3,display_str,color=(0,0,0),scale=2)# 同上,但針對數字5          elif index_mnist == 5:if score > 0.999:display_str = "num: %d" % index_mnistprint(display_str, score)img.draw_string(4,3,display_str,color=(0,0,0),scale=2)# 對于其他數字 ,無論得分如何,都進行顯示和       else:display_str = "num: %d" % index_mnistprint(display_str, score)img.draw_string(4,3,display_str,color=(0,0,0),scale=2)lcd.display(img)kpu.deinit()

網上學習網址貼出:

?更新 MaixPy 固件 - Sipeed Wiki

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/21715.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/21715.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/21715.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

醫學數據屬于小樣本,或許源于資源不對等|羅小羅·說

小羅碎碎念 醫學數據屬于小樣本,或許源于資源不對等 今天這篇推文,源于一場對話。 我和他(粉絲)聊完以后,覺得心里總是壓了點什么東西,直到我寫完那篇關于醫學數據類別不平衡的文章,我才大致理…

SEO之關鍵詞擴展(一)

初創企業搭建網站的朋友看1號文章;想學習云計算,怎么入門看2號文章謝謝支持: 1、我給不會敲代碼又想搭建網站的人建議2、新手上云 確定了核心關鍵詞后,接下來就是進行關鍵詞擴展。對一個稍有規模的網站來說,研究幾十個…

Java設計模式 _行為型模式_狀態模式

一、狀態模式 1、狀態模式 狀態模式(State Pattern)是一種行為型模式。 它允許一個對象在其內部狀態改變時改變它的行為。狀態模式把所研究的對象的行為包裝在不同的狀態對象里,每一個狀態對象都屬于一個抽象狀態類的一個子類。狀態模式的意圖…

【Python Cookbook】S01E13 篩選序列中的元素

目錄 問題解決方案討論 問題 序列中包含一些數據,我們需要提取出其中的值或根據某些標準對序列做刪減。 解決方案 要篩選序列中的元素,通常最簡單的辦法是通過 列表推導式,例如: mylist [1, 4, -5, 10, -7, 2, 3, -1]print([…

JAVAEE之文件IO_數據流概念,字節流:InputStream、OutputStream,字符流:reader、writer,及實例代碼

什么是數據流 顧名思義,I 表示input,O 表示output,也就是輸入輸出流,主要是在程序與文件之間,用于傳輸數據的通道。既然要傳輸數據,那么我們需要理解文件和程序之間哪種方向的傳輸是輸入流,哪種…

SD-WAN供應商的類型及選擇指南

在企業加速數字化轉型的背景下,SD-WAN技術成為優化網絡性能和提升連接效率的重要方案,受到了廣泛關注。本文將介紹當前主要的SD-WAN供應商類型及其特點,并提供企業選擇合適供應商的建議。 目前,市場上的SD-WAN供應商主要分為兩類&…

操作系統(3) 處理機調度

目錄 一、處理機調度概述 1.基本準則 (1)CPU利用率 (2)系統吞吐量 (3)周轉時間 (4)等待時間 (5)響應時間 2.進程調度方式 (1&#xff0…

現代密碼學-數字簽名

從消息認證碼到數字簽名 前面講到,消息認證碼無法防止否認,A,B之間共享密鑰計算出MAC,A,B都能計算出MAC,對于第三方C來說,他無法證明這個MAC是A計算的還是B計算的。 通過數字簽名解決問題。 A,B各自使用不同的密鑰-公鑰密碼,A用…

LeetCode刷題之HOT100之組合總和

2024/6/3 周一,工作日的第一天。昨晚夢到被導師說去實驗室不積極哈哈哈,風扇開到二級,早上被吹醒。買的書馬上快要到了。上午剛來準備刷題,結果去搞了一下數據庫sql,做的差不多了,還差點格式轉換就差不多出…

springboot打包筆記

文章目錄 多配置文件application.yml本地啟動參數替換profiles,還是要復制文件 項目有各種環境,例如:local,uat,prd等。 各種打包方式一定要熟練掌握。 做此筆記是因為做了那么多項目,也打了很多包&#xf…

QT中如何對引入的第三方庫進行翻譯

1、背景 在我們的程序中,可能會加載其他人寫的模塊,,該模塊是以庫的形式提供的,那么我們程序翻譯時,如何來對引入的第三方庫進行翻譯??? 2、方案 首先,第三方庫會有自己的翻譯文件,并且一般要給我們提供設置翻譯的接口, 例如下:第三方庫給我們暴露一個接口,我們…

軍用電源性能測試有哪些測試項目?需要遵循什么標準?

為了確保軍用電源在極端條件下能夠正常工作,必須對其進行一系列嚴格的性能測試。這些測試不僅包括效率、電壓調整率和負載調整率等基本參數的測試,還包括動態響應能力、絕緣電阻、耐壓測試、溫度系數以及高低溫循環等綜合性能的評估。 測試項目 效率 電壓…

spring 優雅替換bean

方案一:使用 Primary/Qualifier 注解(優選) 如果有多個相同類型的 Bean 存在,可以將想要優先使用的 Bean 加上 Primary 注解。 Qualifier和Primary注解的區別:Primary注解用于標記具有相同類型的多個實例中的主要實例…

MySQL -- 連接查詢

MySQL使用連接查詢(JOIN)是為了從多個相關表中獲取數據。連接查詢是一種強大且常用的操作,可以根據某些條件將兩張或多張表中的數據組合在一起,返回一個聯合結果集。 1.為什么使用連接查詢 數據規范化: 數據庫設計時通…

站點被篡改快照被劫持解決服務方法教程_一招制敵

站點被篡改快照被劫持解決服務方法教程_一招制敵 被篡改表現形式: 站點打不開或跳轉到別的網站。 攻擊者目的: 報復、勒索、賣防御產品(如DDOS防御產品)。 攻擊成本: 工具(如VPN購買)成本、人…

智能工廠生產設備實時監控技術的UI設計

智能工廠生產設備實時監控技術的UI設計

Flutter的Dart語法入門

文章目錄 前言1. 類型聲明2. 數據類型2.1 基本數據類型常量 2.2 String2.3 集合2.4 unicode 3. Dart函數特征3.1 可變參數列表和默認入參3.2 匿名函數3.3 typedef 4. Dart面向對象4.1 構造函數4.2 訪問權限4.3 類的繼承 參考資料附錄 前言 每個語言都有控制流語句就不寫測試代…

Go 語言的控制結構:條件與循環

Go 語言提供了豐富的控制結構,使得開發者可以編寫出具有復雜邏輯的程序。這些控制結構包括用于條件分支的 if-else 和 switch 語句,循環控制的 for 語句,以及用于控制循環執行流的 break 和 continue 關鍵字。此外,Go 語言還支持 …

約瑟夫游戲(編號+密碼)

編號為1、2、3、...、N的N個人按順時針方向圍坐一圈,每人持有一個密碼(正整數)。從指定編號為1的人開始,他的密碼為M的初始值,按順時針方向從1號自己開始順序報數,報到指定數M時停止報數,報M的人…

i18n-demo

一、demo 1、資源文件準備 resources下放各個語言文件,直接放resources下都行。我新建一個文件夾,