Revisão técnica
Para integração Camera2, estabeleça como os buffers são organizados, quando são válidos e quando são liberados. Não leia YUV_420_888 como NV21 contíguo com base apenas nas dimensões. Inclua rowStride, pixelStride, o retângulo de corte da imagem, a orientação da imagem e a propriedade durante o processamento assíncrono no contrato de entrada SDK.
O que significam rowStride e pixelStride
rowStride é a distância em bytes entre o início das linhas adjacentes. pixelStride é a distância em bytes entre amostras de pixels adjacentes em uma linha. Nem é simplesmente a largura da imagem. Leia as informações reais do plano retornadas pelo dispositivo de destino para evitar tratar o preenchimento ou um layout de plano diferente como pixels válidos.
A referência ImageFormat do Android e a interface Image.Plane definem formatos, rowStride e pixelStride. Esta revisão aplica essas interfaces às verificações de integração; cada dispositivo de destino ainda precisa de casos de entrada relevantes.
Referência ImageFormat · Interface Image.Plane
Verifique a entrada antes de passá-la para SDK
Deslize a tabela horizontalmente para visualizar todas as colunas.
| Artigo | Informações para registrar | Verificações relacionadas |
|---|---|---|
| Formato Image e planos de imagem | Formato, dimensões, rowStride e pixelStride de cada plano de imagem | Erros de linha/cor, limites e retângulo de corte de imagem |
| Orientação e espelhamento | Orientação do sensor/tela e espelhamento da câmera frontal | Retrato/paisagem, esquerda/direita e transformações de coordenadas |
| Tempo de validade do buffer | Proprietário Image, política de cópia e conclusão assíncrona | Leituras inválidas, buffers não liberados e filas bloqueadas |
| Carregar e enfileirar | Taxas de captura/envio, backlog e política de descarte | Latência e uso de recursos sob entrada sustentada |
| Coordenadas de saída | Entrada do modelo, retângulo de corte de imagem e região de visualização | Caixas comparadas com posições conhecidas |
Atribuir propriedade para processamento assíncrono
Os dados de Image e de seus planos devem permanecer válidos até o fim da tarefa assíncrona. Se Image for liberado ao terminar o callback, a tarefa seguinte precisará de dados válidos obtidos pelo método acordado. Se a liberação for adiada, defina quem libera o buffer após a conclusão, o cancelamento ou a falha. Verifique a captura contínua e os caminhos de erro, além do processamento correto de um quadro isolado.
Use esses campos para um registro de problema de integração. Nenhuma medição do dispositivo está predefinida.
Deslize a tabela horizontalmente para visualizar todas as colunas.
| Campo de registro | Conteúdo | Objetivo |
|---|---|---|
| Identidade ambiental | Dispositivo, versão Android, câmera e revisão SDK | Distinguir alterações de hardware e código |
| Metadados de entrada | Formato, dimensões, retângulo de recorte, rowStride e pixelStride dos planos | Verifique novamente as suposições de conversão |
| Propriedade e tempo | Responsável pelo callback, envio, conclusão e liberação do buffer | Diagnosticar leituras inválidas e backlog |
| Amostra de validação | Padrão publicável, orientação e coordenadas esperadas | Comparar os resultados da conversão da imagem e da transformação das coordenadas |
| Caminhos de falha | Cancelamento, timeouts, desconexão e recuperação | Verifique a limpeza de recursos acordada |
Escopo do projeto e entradas de integração
O case RK3588 de detecção de rosto e visão offline SDK, cobre Android, Camera2 e um caminho CPU offline. A detecção de rosto e o reconhecimento de identidade são tarefas diferentes; A aceleração NPU e outros dispositivos precisam de evidências separadas. Para adaptação do RK3588 Android, forneça hardware, sistema, amostras, interfaces existentes e o registro acima antes de definir a matriz do dispositivo e os testes.
RK3588 caso offline de detecção de rosto e visão SDK, em chinês · Adaptação RK3588 Android, em chinês
Online
Telefone
WeChat
voltar ao topo