產業動態

Camera2 YUV輸入回顧:rowStride、pixelStride與幀生命週期

Camera2的YUV_420_888輸入需要檢查rowStride、pixelStride及Image釋放時機。結合視覺SDK案例,提供格式、方向、緩衝區責任與接入記錄欄位。

產業動態 2026-10-17 穩格科技
文章正文產業動態

技術回顧

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系統適配時,可提交目標裝置、系統、樣本、現有介面與上述接入記錄,再確定裝置矩陣及測試範圍。

提交專案需求

留下聯絡方式和需求簡述,便於我們判斷技術方向、交付範圍和溝通方式。

線上諮詢
電話諮詢
13910119357
微信諮詢
WhatsApp
穩格科技 WhatsApp 二維碼 掃碼或點選聯絡
回到頂部