
Publicado OpenCV 5.0.0 — uma grande versão da biblioteca aberta de visão computacional e processamento de imagens. O lançamento ocorreu 6 de junho de 2026 e já foi destacado como relevante no repositório do projeto no GitHub. O OpenCV é distribuído sob a licença Apache-2.0.
A essência do lançamento é a transição do OpenCV de uma "biblioteca clássica de visão computacional" para uma plataforma mais moderna para tarefas de CV/AI: o projeto limpou a antiga API, reformulou o módulo de inferência de rede neural, expandiu o suporte ao ONNX, adicionou recursos para cenários VLM/LLM e atualizou o stack 3D/calibração. Os desenvolvedores descrevem o OpenCV 5.0 como uma ramificação, agora também considerada estável, e a nova funcionalidade será adicionada principalmente a ela.
Principais mudanças
Novo motor de inferência DNN.
O módulo dnn agora conta com um novo motor, que coexiste com o antigo. Ele funciona melhor com formas tensorais dinâmicas, subgrafos e recursos modernos do ONNX. A cobertura declarada é de mais 80% da especificação ONNX, enquanto no OpenCV 4.x era coberto menos de 23%.
Essa é provavelmente a principal mudança do lançamento: o OpenCV tenta se tornar não apenas uma camada em torno de modelos, mas um verdadeiro motor de inferência embutido para redes neurais modernas.Escolha do motor ao carregar o modelo.
Na função cv::dnn::readNet() e funções relacionadas, foi adicionado o parâmetro ENGINE_AUTO. Por padrão, o OpenCV primeiro tenta o novo motor e, em caso de falha, reverte para o clássico. O comportamento também pode ser definido pela variável de ambiente OPENCV_FORCE_DNN_ENGINE: usar o motor antigo, o novo, o modo automático ou o ONNX Runtime. Projetos antigos não precisam migrar imediatamente para o novo motor, mas novos modelos podem ser gradualmente transferidos para ele.Integração com ONNX Runtime.
O OpenCV agora pode ser compilado com o ONNX Runtime conectado. Nesse caso, o OpenCV usa seu próprio parser ONNX para construir o gráfico ORT, portanto, não requer o pacote completo do ONNX. Os parâmetros de CMake para a compilação são -DWITH_ONNXRUNTIME=ON e -DDOWNLOAD_ONNXRUNTIME=ON; para GPUs NVIDIA — -DDOWNLOAD_ONNXRUNTIME_GPU=ON. Essa função será útil para aqueles que precisam de inferência em GPU já, pois o novo motor DNN do OpenCV ainda funciona apenas em CPU.Suporte a modelos de visão-linguagem.
O novo motor DNN inclui tokenizadores, camadas de atenção, blocos de decodificação, pós-processamento e cache KV, todos necessários para executar modelos VLM "prontos para uso". A biblioteca historicamente estava associada ao processamento de imagens, mas agora está se aventurando em modelos que trabalham simultaneamente com imagem e texto.O suporte a GPU para o novo motor DNN ainda não está pronto.
O novo motor no OpenCV 5.0 funciona apenas em CPU. O suporte nativo a GPU deve ser adicionado em versões futuras; por enquanto, recomenda-se usar o motor clássico ou uma versão com o ONNX Runtime e provedores de execução NVIDIA para inferência CUDA, tanto em servidores quanto em desktop. O OpenCV 5.0 ainda não substitui os runtimes especializados.Os antigos parsers Darknet e Caffe foram removidos.
Os desenvolvedores removeram os parsers Darknet e Caffe, pois a maioria dos modelos já foi convertida para ONNX. O TFLite ainda permanece com o motor clássico, enquanto a migração para o novo motor está planejada para mais tarde. O OpenCV está abandonando os antigos formatos e se concentrando no ONNX como seu formato principal de intercâmbio de modelos.Uma grande limpeza da API obsoleta.
A API C do OpenCV 1.x foi removida: funções como cvCreateMat() e antigas estruturas como CvMat não fazem mais parte da API principal. O suporte ao OpenVX também foi removido, e o módulo G-API foi transferido para o opencv_contrib, assim como o módulo clássico de ML. Essa é uma mudança disruptiva para projetos antigos, mas era há muito necessária: a biblioteca está se livrando da dívida técnica acumulada ao longo de décadas.Features2D foi renomeado para Features.
O módulo foi ampliado para os modernos vetores de características de redes neurais. No repositório principal, foram mantidos SIFT, ORB, FAST, GoodFeaturesToTrack e MSER, enquanto os detectores e descritores obsoletos foram movidos para opencv_contrib. Foram adicionados ALIKED, DISK e o correspondedor LightGlue. O OpenCV claramente está se ajustando aos modernos pipelines, onde as características da imagem são cada vez mais extraídas não por algoritmos clássicos, mas por redes neurais.Novos tipos de dados no Core.
Foram adicionados CV_16BF / cv::bfloat, CV_32U, CV_64U, CV_64S e CV_Bool. Além disso, o suporte para arrays N-dimensionais, arrays 1D e escalares 0D foi aprimorado. O LAPACK agora está sempre disponível: se não houver uma biblioteca externa, o OpenCV compila um subconjunto mínimo embutido. As mudanças são importantes para DNN, algoritmos numéricos e compatibilidade com formatos modernos de dados, onde bfloat16 e tipos estendidos estão se tornando cada vez mais comuns.O processamento de imagens foi acelerado.
Em imgproc, warpAffine, warpPerspective e remap foram aprimorados. Aumentos de desempenho variam de 10% a mais de 300%, dependendo da plataforma, tamanho da imagem, tipo de dados e sinalizadores de operação.
Isso não se trata mais da moda do AI — tais otimizações são diretamente importantes para tarefas clássicas: fluxos de vídeo, estabilização, transformações projetivas e preparação de dados antes da inferência.A saída de texto foi melhorada.
O antigo mecanismo de renderização de texto foi substituído pelo motor TrueType baseado em STB com a fonte variável Rubik embutida. É possível conectar fontes personalizadas, e há amplo suporte para Unicode. No entanto, sistemas de escrita complexos, como árabe e devanágari, ainda são exibidos incorretamente sem Harfbuzz, e emojis coloridos não são suportados. O OpenCV se torna mais conveniente para gerar anotações, imagens de depuração e visualizações sem bibliotecas externas.Atualizações em 3D e calibração de câmeras.
calib3d foi dividido em geometry, calib, stereo e ptcloud. USAC se tornou o backend padrão para avaliação robusta de homografia, matriz essencial/fundamental, PnP e outras tarefas. Um pipeline de calibração multicanal foi adicionado, com suporte inicial para processamento de malhas e nuvens de pontos, incluindo TSDF, ICP, importação e exportação de .ply e .obj. Este é um passo importante para robótica, SLAM, AR/VR e sistemas multicâmera, onde o processamento 2D já não é mais suficiente.Exemplos e documentação foram reformulados.
Exemplos obsoletos foram removidos, os restantes foram atualizados. Para exemplos DNN, uma coleção comum de modelos pode ser baixada com o script download_models.py. Exemplos experimentais para VLM e LDM foram adicionados, e a documentação recebeu um tema moderno, busca rápida, modo claro/escuro e navegação aprimorada. Para uma biblioteca tão grande, isso não é uma mudança cosmética: uma documentação adequada e exemplos funcionais impactam diretamente se os desenvolvedores podem realmente migrar para o OpenCV 5.x.
Em suma, o OpenCV 5.0 não é apenas mais um lançamento com otimizações, mas uma atualização significativa de tudo: menos herança da era OpenCV 1.x e mais foco em ONNX, inferência neural, recursos modernos, processamento 3D e aceleração heterogênea. No entanto, a transição para projetos antigos pode exigir ajustes devido à remoção da API C e à transferência de parte dos módulos para opencv_contrib.
Fonte: linux.org.ru
