Android相機幀接入視覺SDK時,應先確認輸入數據怎樣排列,再確認旋轉、裁剪、縮放和鏡像分別在哪裡發生。預覽看起來正常,不能直接證明模型讀到了正確像素,也不能證明檢測框已映射到正確顯示位置。

格式名稱不能代替平面佈局

對多平面圖像,記錄每個平面的行步長、像素步長及有效範圍,不把數據直接當成緊密連續排列。Android圖像平面文檔分別定義相鄰行和像素樣本的字節間距。轉換或複製邏輯需要按實際格式與SDK接口核對,不能只根據預覽圖判斷。

異步任務要明確數據有效期

Image文檔說明,關閉圖像後再訪問此前取得的平面緩衝區,其行為未定義。若異步任務在圖像關閉後仍需數據,應在關閉前複製所需內容到應用管理的緩衝區,並按任務完成條件管理複用。複製本身不能代替格式和邊界檢查。

分開記錄圖像與顯示座標

處理環節 需要說明 驗證時保存
原始輸入 圖像尺寸、格式及裁剪區域 原始幀與實際有效區域
模型輸入 旋轉、縮放或裁剪的處理順序 提交給SDK的圖像與參數
結果座標 原點、單位及對應圖像 結果數值及圖像版本
預覽疊加 顯示尺寸、留邊或裁剪及鏡像 顯示區域和位置對照圖

顯示正確不等於鏈路全部通過

相機方向、設備方向和預覽尺寸的關係可參考Android預覽說明。實際SDK是否已處理旋轉或鏡像,仍以其接口約定和測試為準,避免重複變換。用同一幀核對模型輸入、結果及疊加;沒有取得原始輸入證據時,輸入鏈路保留待驗證狀態。本文僅解釋處理方法,未開展新的設備測試。

相關服務:Android、移動端與嵌入式視覺SDK、項目諮詢。