es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Corrección de color utilizando OpenCV y tarjetas de color

Estaba buscando formas automatizadas de realizar algunas correcciones básicas de color y encontré esta publicación de blog.

Automatic color correction with OpenCV and Python

enter image description here

python color_correction.py --reference ref.jpg  --input input.jpg

Para resumir la publicación del blog, permite identificar la tarjeta de color Pantone en una imagen de entrada dada, modificar el histograma para que coincida con los colores de una tarjeta de color Pantone de referencia que tiene los colores reales. Cualquier cambio de color debido a la iluminación se ajustaría en la tarjeta de color ingresada.

Tenía una consulta como una extensión del caso de uso que describiste en la publicación del blog. Si bien la coincidencia del histograma funciona bien entre las dos imágenes recortadas a los límites de las tarjetas de color, ahora solo se aplica a la imagen de entrada recortada donde está presente la tarjeta de color. Quiero aplicar esta transformación de histograma a toda la imagen de entrada, más allá de la tarjeta de color, ¿cómo puedo hacer eso?
enter image description here
¿Podemos guardar la transformación de la función match_histpgram y aplicarla a toda la imagen?

Edit 1:
Esto es lo que intenté.
https://github.com/Sum-Al/color_correction

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Como experto en TI especializado en Python, OpenCV, procesamiento de imágenes y scikit-image, la consulta que has planteado se refiere a aplicar la transformación del histograma en toda la imagen de entrada más allá de la tarjeta de color.

    La solución a esta consulta es que podemos guardar la transformación de la función match_histogram y aplicarla a toda la imagen. Para aplicar la transformación a toda la imagen, primero debemos cargar la imagen de entrada y convertirla al espacio de color correcto, tal como se muestra en el artículo del blog.

    Luego podemos aplicar la función match_histogram a toda la imagen de entrada en lugar de solo la región recortada que contiene la tarjeta de color. Finalmente, debemos convertir la imagen de nuevo al espacio de color original y guardar la imagen de salida.

    Veo que también has proporcionado un enlace a un repositorio de GitHub donde has intentado implementar esto. Según el código que has compartido, parece que vas por buen camino. Sin embargo, sería útil ver la imagen de salida para entender la calidad de la corrección de color.

    En resumen, podemos guardar la transformación de la función match_histogram y aplicarla a toda la imagen mediante la carga de la imagen de entrada, la aplicación de la transformación a toda la imagen, la conversión de la imagen de nuevo al espacio de color original y la guardado de la imagen de salida.

Comments are closed.