文章正文產業動態
技術回顧
Camera2影象接入首先要確認緩衝區怎樣排列、何時可用以及何時釋放。YUV_420_888不能僅憑寬高就按連續NV21讀取;每個平面的跨度、裁剪範圍、方向和非同步處理責任都應進入SDK輸入約定。
兩種stride分別說明什麼
rowStride表示相鄰兩行起點之間的位元組跨度,pixelStride表示同一行相鄰畫素樣本之間的位元組跨度。它們與影象寬度不是同一個概念。按照目標裝置實際返回的平面資訊讀取,能避免把行尾填充或不同平面佈局誤當作有效畫素。
Android的ImageFormat資料和Image.Plane介面是格式與跨度定義的依據。本文按這些介面回顧接入方法,適用裝置仍需透過相應輸入用例核對。
進入SDK前核對哪些輸入
表格可橫向滑動查看完整欄位。
| 核對項 | 應記錄的資訊 | 對應檢查 |
|---|---|---|
| 格式與平面 | 格式、寬高、各平面的rowStride與pixelStride | 錯行、錯色、越界及裁剪範圍 |
| 方向與映象 | 感測器方向、顯示方向、前置映象規則 | 橫豎屏、左右關係與座標變換 |
| 生命週期 | 誰持有Image、是否複製、非同步處理何時結束 | 釋放後讀取、漏釋放與佇列阻塞 |
| 負載與佇列 | 採集/提交頻率、積壓和丟幀策略 | 持續輸入下的延遲與資源佔用 |
| 輸出座標 | 模型輸入、裁剪區域與預覽區域 | 檢測框與已知位置的對應關係 |
給非同步處理明確緩衝區責任
Image及其平面的可用期需要與非同步任務一致。若回撥結束就釋放Image,後續任務應使用約定方式獲得仍然有效的資料;若延後釋放,則需說明任務結束、取消和異常時由誰釋放。不能只驗證一幀成功而省略持續採集和錯誤路徑。
下面的欄位可作為一次接入問題的記錄模板,不預填裝置測試數值。
表格可橫向滑動查看完整欄位。
| 記錄欄位 | 內容 | 用途 |
|---|---|---|
| 環境身份 | 裝置、Android版本、相機與SDK修訂 | 區分裝置和程式碼差異 |
| 輸入元資訊 | 格式、寬高、裁剪區域、平面跨度 | 複查轉換假設 |
| 所有權與時間點 | 回撥、提交、處理結束、釋放責任 | 判斷失效讀取與積壓 |
| 驗證樣本 | 可公開圖案、方向及預期座標 | 對照轉換與座標結果 |
| 異常路徑 | 取消、超時、裝置斷開及恢復步驟 | 檢查資源能否按約定回收 |
案例範圍與接入資料
RK3588離線人臉檢測與視覺SDK案例涉及Android、Camera2及離線CPU鏈路。人臉檢測與身份識別是不同任務,NPU加速和其他裝置相容需要各自證據。評估RK3588 Android系統適配時,可提交目標裝置、系統、樣本、現有介面與上述接入記錄,再確定裝置矩陣及測試範圍。
線上諮詢
電話諮詢
微信諮詢
回到頂部