
Publicado OpenCV 5.0.0 — una importante versión de la biblioteca de visión por computador de código abierto y procesamiento de imágenes. El lanzamiento ocurrió el 6 de junio de 2026 y ya ha sido señalado como relevante en el repositorio del proyecto en GitHub. OpenCV se distribuye bajo la licencia Apache-2.0.
La esencia de este lanzamiento es la transición de OpenCV de "biblioteca clásica de visión por computador" a una plataforma más moderna para tareas de CV/AI: el proyecto ha eliminado la API antigua, ha revisado el módulo de inferencia de redes neuronales, ha ampliado el soporte para ONNX, ha aportado bases para escenarios VLM/LLM y ha actualizado el stack 3D/de calibración. Los desarrolladores describen OpenCV 5.0 como una rama, que ahora también se considera estable, y la nueva funcionalidad se incorporará principalmente allí.
Principales cambios
Un nuevo motor de inferencia DNN.
En el módulo dnn ha aparecido un nuevo motor que coexiste con el antiguo. Funciona mejor con formas de tensores dinámicos, subgrárafos y las capacidades modernas de ONNX. Se declara una cobertura de más del 80% de la especificación ONNX, mientras que en OpenCV 4.x se cubría menos del 23%.
Este es probablemente el cambio más significativo de la versión: OpenCV intenta convertirse no solo en un envoltorio alrededor de modelos, sino en un motor de inferencia totalmente integrado para redes neuronales modernas.Selección del motor al cargar un modelo.
En cv::dnn::readNet() y funciones relacionadas, ha aparecido el parámetro ENGINE_AUTO. Por defecto, OpenCV primero prueba el nuevo motor y, si falla, retrocede al clásico. Este comportamiento también se puede establecer a través de la variable de entorno OPENCV_FORCE_DNN_ENGINE: usar el motor antiguo, el nuevo, el modo automático o ONNX Runtime. Los proyectos antiguos no están obligados a cambiar de inmediato al nuevo motor, pero los nuevos modelos se pueden migrar gradualmente a él.Integración con ONNX Runtime.
OpenCV ahora se puede compilar con ONNX Runtime habilitado. En este caso, OpenCV utiliza su propio analizador ONNX para construir el gráfico ORT, por lo que no requiere el paquete completo de ONNX. Para la compilación, hay disponibles los parámetros de CMake -DWITH_ONNXRUNTIME=ON y -DDOWNLOAD_ONNXRUNTIME=ON; para GPU de NVIDIA — -DDOWNLOAD_ONNXRUNTIME_GPU=ON. Esta función será útil para quienes necesiten inferencia en GPU ya, ya que el nuevo motor DNN de OpenCV actualmente solo funciona en CPU.Soporte para modelos vision-language.
El nuevo motor DNN incluye tokenizadores, capas de atención, bloques de decodificación, post-procesamiento y caché KV, necesarios para ejecutar modelos VLM "listos para usar". Históricamente, la biblioteca se ha asociado con el procesamiento de imágenes, y ahora ingresa al ámbito de modelos que trabajan simultáneamente con imágenes y texto.El soporte de GPU del nuevo motor DNN todavía no está listo.
El nuevo motor en OpenCV 5.0 solo funciona con CPU. Se promete soporte nativo para GPU en versiones futuras; por ahora, se recomienda usar el motor clásico o una versión con ONNX Runtime y proveedores de ejecución NVIDIA para la inferencia CUDA en servidor o escritorio. OpenCV 5.0 aún no reemplaza runtimes especializados.Se han eliminado los viejos analizadores de Darknet y Caffe.
Los desarrolladores han eliminado los analizadores de Darknet y Caffe, ya que la mayoría de los modelos ya se han traducido a ONNX. TFLite sigue disponible a través del motor clásico, y la migración al nuevo motor está planeada para más adelante. OpenCV está dejando atrás los viejos formatos y se centra en ONNX como el formato principal de intercambio de modelos.Gran limpieza de la API obsoleta.
Se eliminó la API C de OpenCV 1.x: funciones como cvCreateMat() y las antiguas estructuras tipo CvMat ya no están en la API principal. También se eliminó el soporte para OpenVX, y el módulo G-API se trasladó a opencv_contrib, al igual que el antiguo módulo de ML. Este es un cambio disruptivo para los proyectos antiguos, pero era necesario: la biblioteca está deshaciéndose de la deuda técnica acumulada durante décadas.Features2D ha sido renombrado a Features.
El módulo se ha ampliado para adaptarse a los modernos vectores de características de las redes neuronales. En el repositorio principal se han mantenido SIFT, ORB, FAST, GoodFeaturesToTrack y MSER, mientras que los detectores y descriptores obsoletos se han trasladado a opencv_contrib. Se han añadido ALIKED, DISK y el comparador LightGlue. OpenCV se adapta claramente a los modernos flujos de trabajo, donde cada vez se extraen más características de las imágenes no con algoritmos clásicos, sino con redes neuronales.Nuevos tipos de datos en Core.
Se han añadido CV_16BF / cv::bfloat, CV_32U, CV_64U, CV_64S y CV_Bool. También se ha mejorado el soporte para arreglos N-dimensionales, arreglos 1D y escalares 0D. LAPACK ahora está siempre disponible: si no hay una biblioteca externa, OpenCV compila un mínimo conjunto incorporado. Estos cambios son importantes para DNN, algoritmos numéricos y la compatibilidad con modernos formatos de datos, donde bfloat16 y tipos extendidos son cada vez más comunes.Se ha acelerado el procesamiento de imágenes.
En imgproc se han reorganizado warpAffine, warpPerspective y remap. Se reportan mejoras de rendimiento que oscilan entre el 10% y más del 300% dependiendo de la plataforma, el tamaño de la imagen, el tipo de datos y los flags de operación.
Esto ya no se trata del módulo de IA; tales optimizaciones son directamente relevantes para tareas clásicas: flujos de video, estabilización, transformaciones proyectivas y preparación de datos antes de la inferencia.Se ha mejorado la salida de texto.
El antiguo mecanismo de renderizado de texto ha sido reemplazado por un motor TrueType basado en STB con la fuente variable Rubik incorporada. Se pueden conectar fuentes personalizadas y hay un amplio soporte para Unicode. Sin embargo, escrituras complejas como el árabe y el devanagari aún no se muestran correctamente sin Harfbuzz, y los emojis en color no son compatibles. OpenCV se vuelve más conveniente para la generación de anotaciones, imágenes de depuración y visualizaciones sin bibliotecas externas.Se han actualizado 3D y la calibración de cámaras.
calib3d se ha dividido en geometry, calib, stereo y ptcloud. USAC se ha convertido en el backend estándar para la evaluación robusta de homografía, matriz esencial/fundamental, PnP y otras tareas. Se ha añadido un pipeline de calibración para múltiples cámaras, con soporte inicial para el procesamiento de mallas y nubes de puntos, incluyendo TSDF, ICP, importación y exportación de .ply y .obj. Este es un paso importante para la robótica, SLAM, AR/VR y sistemas de múltiples cámaras, donde el procesamiento 2D ya no es suficiente.Se han revisado los ejemplos y la documentación.
Se han eliminado ejemplos obsoletos y los restantes han sido actualizados. Para los ejemplos de DNN se utiliza una colección común de modelos que se puede descargar con el script download_models.py. Se han añadido ejemplos experimentales para VLM y LDM, y la documentación ha recibido un tema moderno, búsqueda rápida, modo claro/oscuridad y navegación mejorada. Para una biblioteca tan grande, esto no es un cambio cosmético: una documentación adecuada y ejemplos funcionales impactan directamente si los desarrolladores pueden migrar a OpenCV 5.x.
En resumen, OpenCV 5.0 no es solo otra versión con optimizaciones, sino una actualización significativa de todo: menos herencia de la era de OpenCV 1.x y más enfoque en ONNX, inferencia de redes neuronales, características modernas, procesamiento 3D y aceleración heterogénea. Sin embargo, la transición para proyectos antiguos puede requerir ajustes debido a la eliminación de la API en C y la transferencia de parte de los módulos a opencv_contrib.
Fuente: linux.org.ru
