Cómo instalar OpenCV compilado con contrib en Windows

Última actualización: 08/01/2026
Autor: Isaac
  • OpenCV es una biblioteca de visión por computador muy extensa que ofrece miles de algoritmos para análisis y tratamiento de imágenes.
  • En Windows se puede trabajar con OpenCV y módulos contrib usando Python, pip, archivos .whl y distribuciones como Anaconda.
  • Las imágenes se gestionan como matrices NumPy y sobre ellas se aplican operaciones básicas de lectura, escritura, dibujo y conversión de color.
  • Con OpenCV correctamente instalado se pueden abordar tareas reales como detección de rostros, segmentación, seguimiento y realidad aumentada.

Instalación de OpenCV compilado con contrib en Windows

Si has llegado hasta aquí es porque quieres instalar OpenCV con todos sus módulos contrib en Windows y seguramente ya te has dado cuenta de que no es tan trivial como lanzar un comando y listo. Entre versiones de Python, librerías complementarias, gestores de paquetes y opciones de compilación, es muy fácil perderse a mitad del camino.

En las próximas líneas vas a encontrar una guía muy cuidada, en español de España y paso a paso, donde se combinan las dos grandes formas de trabajar con OpenCV en Windows: usando paquetes precompilados (pip, whl y Anaconda) y entendiendo qué supone trabajar con la librería compilada desde código y con módulos contrib. Además, repasaremos conceptos clave de visión por computador que te ayudarán a sacarle partido de verdad a todo lo que vas a instalar.

Qué es OpenCV y por qué interesan los módulos contrib

Antes de tocar nada en tu máquina conviene tener claro qué estás instalando. OpenCV (Open Source Computer Vision) es una enorme biblioteca de visión por computador y tratamiento de imágenes, nacida en Intel y hoy mantenida por una comunidad gigante. Incluye más de 2500 algoritmos para tareas tan variadas como detección de rostros, reconocimiento de objetos, seguimiento de movimiento, segmentación, calibración de cámaras o realidad aumentada.

OpenCV está disponible para múltiples lenguajes y sistemas: C++, Python, Java, así como para Windows, macOS y Linux. En nuestro caso nos centraremos en OpenCV-Python, que es el binding (API) específico para trabajar desde Python y que se integra muy bien con librerías como NumPy o Matplotlib, básicas para cualquier trabajo serio de visión artificial.

Cuando se habla de “contrib” se hace referencia a un conjunto adicional de módulos experimentales o avanzados que no forman parte del núcleo principal (core) de OpenCV. Estos módulos contrib amplían la librería con algoritmos más modernos o especializados, y es justo lo que necesitas si quieres funcionalidades extra sin pelearte con todo el proceso de compilación desde cero.

En Python, la forma más directa de tener ese extra es usar paquetes como opencv-contrib-python o opencv-contrib-python-headless, que son binarios precompilados con los módulos contrib ya integrados. No son los paquetes “oficiales” de OpenCV.org, pero ahorran una cantidad de tiempo brutal y para la mayoría de proyectos son más que suficientes.

Requisitos previos: Python, NumPy, Matplotlib y compañía

Para poder trabajar con OpenCV de forma cómoda necesitas tener en tu sistema una base mínima de entorno científico en Python. En particular, vas a usar Python 3 (nada de Python 2 a estas alturas), y casi siempre te vendrá bien disponer de librerías como NumPy, SciPy y Matplotlib, además de Jupyter o un IDE como Sublime Text, VS Code o similares.

Hay dos grandes caminos para montar este entorno en Windows: instalar Python “a pelo” desde su web oficial y gestionar todo con pip, o usar una distribución como Anaconda que te instala de golpe Python, los paquetes científicos más usados y su propio ecosistema de gestión de entornos.

Si optas por la vía clásica, deberás descargar desde la web oficial de Python el instalador para Windows de 32 o 64 bits que corresponda a tu sistema. Una vez descargado, es fundamental marcar la casilla “Add Python 3.x to PATH”, porque eso te permitirá llamar a Python desde cualquier consola simplemente escribiendo python sin tener que indicar rutas largas a mano.

Además, en esa instalación debes asegurarte de que se incluye pip, el gestor de paquetes de Python. Pip será tu gran aliado para instalar OpenCV y el resto de dependencias, porque con un par de comandos podrás tener en segundos lo que manualmente te podría llevar horas.

Instalar Python en Windows: método clásico y con Anaconda

En Windows tienes dos formas razonables de montar tu entorno de Python para luego añadir OpenCV y los módulos contrib: descarga directa desde python.org o uso de la distribución Anaconda. Ambos caminos te llevarán al mismo destino, pero cada uno tiene sus ventajas prácticas.

Si eliges la ruta de python.org, tras haber descargado el ejecutable de la versión deseada (por ejemplo Python 3.8.x o 3.10.x, lo que tengas más a mano), basta con ejecutarlo como administrador, marcar la casilla de añadir al PATH, dejar activada la opción de instalar pip y completar el asistente. Después puedes abrir el menú Inicio, buscar “Python 3.x” y comprobar que se lanza la consola interactiva sin errores.

  Crea accesos directos personalizados con Windows Script Host

Para terminar de verificar, abre un Símbolo del sistema (cmd) y escribe:

python -V

Si todo está correcto, verás la versión de Python instalada. Luego puedes comprobar pip con:

pip -V

Si quieres ir fino con las versiones, también puedes actualizar pip con:

python -m pip install -U pip

La otra opción es tirar de Anaconda, una distribución orientada a procesamiento de datos, ciencia y machine learning que te resuelve de un plumazo buena parte del lío de dependencias. Descargas el instalador desde su web oficial, eliges la versión para Windows (32 o 64 bits, según tu equipo), sigues el asistente y al terminar tendrás Python, NumPy, SciPy, Matplotlib, Jupyter y pip ya listos para usar.

Con Anaconda, para comprobar que todo está en su sitio, abres una consola (puede ser el “Anaconda Prompt”) y ejecutas las mismas comprobaciones: python -V y pip -V. Verás algo del estilo Python 3.x y Anaconda 4.x, confirmando que tu entorno está operativo y listo para instalar OpenCV.

Formas de instalar OpenCV compilado con contrib en Windows

Una vez que tienes Python correctamente instalado, entramos en materia con OpenCV. En Windows, la forma práctica de obtener OpenCV compilado con módulos contrib sin pelearte con CMake y Visual Studio es tirar de paquetes binarios precompilados. Puedes hacerlo principalmente de dos modos: mediante pip con los paquetes de PyPI o instalando un archivo .whl descargado desde un repositorio de binarios.

La forma más directa usando pip es:

  • pip install opencv-python: instala los módulos “core”, es decir, la parte principal de OpenCV.
  • pip install opencv-contrib-python: instala tanto los módulos principales como los adicionales de contrib.
  • pip install opencv-python-headless: sólo módulos principales, pero sin soporte GUI (sin ventanas de visualización).
  • pip install opencv-contrib-python-headless: módulos principales + contrib, también sin interfaz gráfica.

Estos paquetes no proceden directamente de OpenCV.org, sino de un mantenedor externo, pero son de uso masivo y están muy probados. Lo habitual para la mayoría de usuarios es instalar opencv-contrib-python, porque tendrás todo lo principal más los extras sin tener que compilar nada tú mismo.

Una alternativa clásica, especialmente útil si necesitas una combinación de versiones muy concreta (por ejemplo, OpenCV 3.2 con Python 3.6 en 64 bits), es descargar un archivo .whl (wheel) ya compilado para tu sistema. En esa página suelen aparecer varios ficheros con nombres que indican la versión de OpenCV, la versión de Python y la arquitectura (win32 o amd64), y algunos incluyen “+contrib” en el nombre, señal de que llevan los módulos contrib incorporados.

El proceso sería algo del estilo:

pip install "D:\opencv\opencv_python-3.2.0+contrib-cp36-cp36m-win_amd64.whl"

Adaptas la ruta al lugar donde guardaste el archivo y ejecutas el comando en la consola. Si no hay conflictos de versiones, pip instalará el wheel y al final verás un mensaje confirmando que OpenCV con contrib se ha instalado correctamente para tu versión de Python.

Instalación rápida con pip: opencv-contrib-python

Para la mayoría de proyectos, especialmente si estás empezando o quieres ir al grano, basta con que tengas Python 3 operativo, pip funcionando y lances desde el cmd o el Anaconda Prompt:

pip install opencv-contrib-python

Con ese solo comando se descargará desde PyPI la versión más reciente compatible de OpenCV 4.x con módulos contrib y todas las dependencias necesarias. Es un método no oficial pero extremadamente cómodo, y te evita tener que compilar OpenCV desde el código fuente en tu propio equipo.

Una vez terminado el proceso, puedes probar que la instalación se ha hecho bien abriendo Python (desde la consola o cualquier IDE) e importando la librería:

import cv2
print(cv2.__version__)

Si no aparece ningún error y se imprime un número de versión (por ejemplo, 4.2.0 o superior), quiere decir que OpenCV está instalado y accesible desde tu intérprete de Python. Es una comprobación rápida pero muy útil para evitar sorpresas luego al ejecutar tus scripts.

Conviene que tengas en cuenta un detalle importante de licencia: los paquetes opencv-python y opencv-contrib-python no incluyen algoritmos “non-free” como SIFT o SURF en sus variantes patentadas clásicas, precisamente porque no pueden distribuirse así por motivos legales. Si necesitas esos algoritmos exactos, tendrás que compilar tú mismo OpenCV desde el código fuente activando las opciones pertinentes, o usar alternativas libres que implementan funcionalidades similares.

  Redimensionar particiones en Windows 11 sin instalar nada

Si quieres reducir aún más dependencias (por ejemplo, en un servidor donde no hace falta mostrar ventanas), puedes optar por la variante headless, que omite todo lo relacionado con la GUI. El resto del uso de la librería será idéntico, sólo que no podrás usar funciones como cv2.imshow para abrir ventanas de imágenes.

Probar OpenCV: primeros scripts y comprobaciones

Una vez instalado OpenCV, lo siguiente es asegurarte de que realmente puedes cargar imágenes y trabajar con ellas sin errores. Una prueba mínima es crear un archivo de Python sencillo, por ejemplo prueba-opencv.py, con algo tan básico como:

import cv2
imagen = cv2.imread("logo.jpg")
cv2.imshow("prueba", imagen)
cv2.waitKey(0)

Guardas este script en la misma carpeta donde tengas una imagen de prueba llamada logo.jpg, abres una consola, navegas hasta esa carpeta y ejecutas:

python prueba-opencv.py

Si se abre una ventana mostrando la imagen sin errores en la consola, puedes dar por buena la instalación. Estás usando las funciones básicas de lectura y visualización de imágenes de OpenCV, así que si esto va bien, el resto de operaciones más avanzadas también deberían funcionar.

Otro paso muy habitual es comprobar de nuevo la versión desde el propio script para asegurarte de que estás usando la que te interesa. Basta con añadir:

print("Versión de OpenCV:", cv2.__version__)

Al ejecutar el programa, verás en la consola el número de versión, lo que te ayuda a confirmar que no estás lanzando sin querer otra instalación diferente (por ejemplo, si tienes varios entornos de Anaconda o varias versiones de Python en el sistema).

Imágenes como matrices: cómo ve OpenCV tus datos

Para aprovechar todo lo que te da OpenCV, es clave entender que una imagen digital no es más que una matriz de píxeles. OpenCV, a través de Python, representa las imágenes como arrays de NumPy, lo que significa que puedes aplicar operaciones vectorizadas, transformaciones y filtros de forma muy eficiente.

En una imagen, cada píxel es un pequeño “bloque” de información que contiene valores numéricos. Cuantos más píxeles tenga una imagen (mayor resolución), más detalle podrás procesar. Además de ancho y alto, la imagen tiene una profundidad de color definida por los bits por píxel (bpp). El número de posibles tonos viene dado por la expresión:

nº de colores = 2^bpp

Por ejemplo, en una imagen binaria con 1 bit por píxel sólo hay dos opciones: 0 suele representar negro y 1 representa blanco. En una imagen en escala de grises con 8 bits por píxel, tienes 256 niveles, donde 0 es negro, 255 es blanco y el resto son tonos intermedios de gris.

En las imágenes en color estándar, se usan tres canales: rojo, verde y azul. Sin embargo, OpenCV almacena por defecto las imágenes en formato BGR (Blue, Green, Red), mientras que librerías como Matplotlib esperan imágenes en formato RGB. Eso provoca el clásico efecto de tonos azulados cuando muestras con Matplotlib una imagen leída con OpenCV sin convertir los canales.

Para solventarlo, normalmente se aplica una conversión de color con cv2.cvtColor, intercambiando los canales B y R antes de mostrar la imagen con Matplotlib. De este modo, los colores aparecen como esperas y no obtienes esa dominante extraña que al principio confunde bastante.

Operaciones básicas con imágenes en OpenCV

Una vez que tienes claro que una imagen es una matriz, las primeras operaciones que realizarás con OpenCV suelen ser muy sencillas: abrir, guardar y dibujar sobre imágenes. Estos pasos iniciales te sirven para familiarizarte con la API antes de meterte en análisis más serios.

Para leer una imagen desde disco se usa cv2.imread, mientras que para mostrarla en una ventana se utiliza cv2.imshow. Cuando quieras guardar una imagen (por ejemplo, el resultado de un procesado), usarás cv2.imwrite, indicando el nombre del archivo de salida y la matriz de la imagen ya modificada.

Si lo que te interesa es dibujar formas simples (líneas, rectángulos, círculos) sobre una imagen, OpenCV ofrece funciones dedicadas y muy directas. Para todas ellas se suelen pasar ciertos parámetros comunes: la imagen sobre la que dibujas, las coordenadas o puntos clave, el color como tupla BGR (por ejemplo, (255, 0, 0) para azul puro en BGR), y el grosor de la línea.

Por ejemplo, para dibujar una línea recta necesitas especificar los dos extremos de la línea. Para un rectángulo, debes pasar las coordenadas de la esquina superior izquierda y la esquina inferior derecha. En el caso de un círculo, especificas el centro y el radio. Estas funciones son perfectas para crear máscaras, overlays o visualizaciones de detecciones (por ejemplo, cuadros alrededor de caras o objetos).

  Cuota de mercado actual de Windows, macOS y Linux: análisis y tendencias

De manera similar, añadir texto sobre una imagen se hace con otra función específica que recibe la cadena a escribir, la posición de inicio (el texto arranca desde la esquina inferior izquierda del punto que pasas), el tipo y tamaño de fuente, y atributos como color, grosor o tipo de línea. Muy a menudo se utiliza el lineType = cv2.LINE_AA para tener un acabado suavizado (antialiasing) en las letras.

Usar IDEs y entornos de trabajo: Jupyter, Sublime Text y Anaconda

Aunque puedes trabajar con OpenCV escribiendo scripts en el Bloc de notas, en la práctica es mucho más cómodo utilizar un IDE o entorno interactivo. Dos opciones habituales cuando se empieza con visión por computador en Python son Jupyter Notebook y Sublime Text con el paquete Anaconda.

Jupyter te resulta muy útil para probar fragmentos de código, ver imágenes inline y documentar tus experimentos casi como si fueras escribiendo un cuaderno de laboratorio. Puedes ir ejecutando celdas, visualizando los resultados y cambiando parámetros sobre la marcha, algo perfecto cuando trabajas con filtros, umbrales o detectores que quieres tunear.

Sublime Text, por su parte, es un editor de texto ligero pero muy potente, ideal si prefieres un flujo más de “archivo .py + consola”. Para sacarle todo el jugo programando en Python, conviene instalar el gestor de paquetes de Sublime y luego el paquete Anaconda (el de Sublime, no la distribución de Python), que añade autocompletado, linting y herramientas específicas para desarrollo en Python.

El proceso suele ser: primero instalas Sublime Text 3 desde su web oficial, luego activas el gestor de paquetes pegando en la consola de Sublime el script que te proporciona la página de Package Control, y finalmente instalas el paquete “Anaconda” desde el propio menú de Package Control. Así conviertes Sublime en un entorno bastante completo para programar con Python y OpenCV.

En equipos donde ya utilizas la distribución Anaconda de Python, puedes combinar ambas cosas: crear un entorno de Anaconda con la versión de Python y OpenCV que quieras y configurar Sublime para lanzar tus scripts usando ese intérprete concreto, de forma que cada proyecto pueda tener sus dependencias bien aisladas.

Qué puedes hacer con OpenCV una vez instalado

Con OpenCV totalmente operativo (y mejor aún si tienes instalados los módulos contrib), las posibilidades en Windows son enormes. Una de las aplicaciones más conocidas es la detección de rostros y objetos, algo que se utiliza tanto en fotografía (autoenfoque, filtros), como en marketing (análisis de público) o en sistemas de seguridad.

También puedes utilizar OpenCV para segmentar imágenes y contar objetos, detectar movimiento en vídeo, extraer características de escenas para alimentar modelos de machine learning, realizar seguimiento de puntos de interés, o construir sistemas de realidad aumentada sencillos basados en marcadores.

Dominar OpenCV pasa por practicar mucho con operaciones sencillas de tratamiento de imágenes (abrir, recortar, redimensionar, convertir a escala de grises, aplicar filtros, dibujar overlays) y por entender bien cómo se combinan estas operaciones para construir pipelines más complejos. Con la base sólida, luego es mucho más sencillo pasar a técnicas avanzadas.

La documentación oficial de OpenCV, junto con los tutoriales y foros de la comunidad, es un recurso casi infinito. Pero todo parte de lo que acabas de ver: tener la librería bien instalada, con la versión adecuada de Python y los módulos contrib que necesites. Una vez superado ese primer obstáculo, el límite lo marcan tus ganas de trastear con imágenes y vídeos.

Después de recorrer todo este proceso —elegir entre instalación clásica o con Anaconda, decidir si usar pip o wheels para disponer de OpenCV compilado con contrib, comprobar la versión y probar scripts básicos de lectura y dibujo de imágenes— ya tienes una base sólida para empezar a experimentar en serio con visión por computador en Windows; a partir de aquí, cada nuevo proyecto será la excusa perfecta para explotar un poco más esta librería y seguir ampliando tu caja de herramientas con Python.