v3.6.4¶
A v3.6.4 adiciona uma biblioteca de servidor de vídeo RTSP, corrige totalmente os modos de imagem do OV5640 (Grayscale / RGB565 / Bayer / JPEG em todas as resoluções), duplica os FPS do sensor com um driver otimizado, e corrige um lote de erros de codificação Bayer / JPEG. image.get_pixel() em imagens Bayer e a rotação automática do sensor foram alteradas — leia as alterações incompatíveis abaixo.
Destaques¶
RTSP — nova biblioteca de servidor de vídeo RTSP com um exemplo.
OV5640 — Grayscale / RGB565 / Bayer / JPEG funcionam agora em todas as resoluções, com uma transferência JPEG máxima maior e leitura em alta resolução duplicada.
FPS duplicados — o driver do sensor foi otimizado para ~2× na taxa de fotogramas.
Correções — aresta/vflip Bayer, JPEG por software (1-bpp e YCbCr grayscale), e problemas de overflow de buffer.
Incompatível:
image.get_pixel()passa agora a desdither imagens Bayer e a rotação automática volta a aplicar-se emsensor.reset()— consulte as alterações incompatíveis.
Novas funcionalidades¶
RTSP — adicionada uma biblioteca
rtspe um exemplortsp_video_server.pypara transmissão de vídeo RTSP.
Outras alterações e melhorias¶
Otimizado o driver do sensor para aproximadamente o dobro da taxa de fotogramas, duplicada a leitura em alta resolução do OV5640 para Bayer/Grayscale/JPEG, aumentado o tamanho máximo de transferência de imagem JPEG, e atualizado
cascade_convert.pypara funcionar com Python 3.
Correções de erros¶
Câmara e imagem:
Corrigidos os modos de imagem do OV5640 para que Grayscale / RGB565 / Bayer / JPEG funcionem corretamente em todas as resoluções, o vflip Bayer no OV7725 / OV7690, o erro de conversão Bayer na aresta direita, a codificação JPEG por software de imagens 1-bpp e YCbCr grayscale (a subtração de −128), dados finais em imagens JPEG, e problemas de overflow de buffer.
Alterações incompatíveis de API¶
Alterações de API visíveis pelo utilizador entre a v3.6.3 e a v3.6.4. Âmbito: módulos C Python em modules/ e bibliotecas Python em scripts/libraries/.
Ambas as alterações incompatíveis são alterações de behavior (mesma API, resultados diferentes) — re-verifique os scripts afetados. Cada hash de commit liga ao respetivo diff no GitHub.
image.get_pixel() desdither imagens Bayer (behavior)¶
image.get_pixel() numa imagem em formato Bayer passa agora a desdither e a devolver um tuplo (r, g, b) em vez do valor bruto Bayer de canal único. Scripts que liam valores Bayer brutos via get_pixel() passarão a receber tuplos RGB interpolados e devem ser atualizados.
Commits: bf16b6a4f
Rotação automática volta a aplicar-se em sensor.reset() (behavior)¶
A rotação automática do sensor passa agora a ser (re-)ativada em sensor.reset(). Scripts que chamavam sensor.reset() após configurar a orientação, esperando que o estado de rotação persistisse ou não se reaplicasse, podem ver uma orientação diferente e devem ser re-verificados.
Commits: 0d13a214b
Lista de verificação de migração¶
Atualize o código que lia valores Bayer brutos via image.get_pixel() para esperar um tuplo (r, g, b) (a alteração de get_pixel), e re-verifique a orientação do sensor em torno de sensor.reset() (a alteração de rotação automática). Todos os outros scripts funcionam sem alterações.