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.

Encuentra el contorno y las diferencias entre dos imágenes.

Para un proyecto universitario necesito comparar dos imágenes que he tomado y encontrar diferencias entre ellas.

Para ser precisos, monitorizo un proceso de impresión 3D donde tomo una fotografía después de cada capa impresa. Después necesito encontrar los contornos de la nueva parte impresa. Las imágenes tienen este aspecto (izquierda capa X, derecha capa X+1):

He logrado extraer las diferencias de capa con la similitud estructural de Scikit de esta pregunta. Resultando en esta imagen:

Las diferencias reconocidas se ajustan a la capa impresa casi 1:1 y parecen ser un buen punto de partida para dibujar los contornos. Sin embargo, aquí es donde estoy atascado actualmente. He intentado varias combinaciones de tresholding, blurring, findContours, sobel y canny operations, pero no puedo producir un contorno preciso de la nueva capa impresa.

Edición:
Esto es lo que estoy buscando:

Edición2:
He subido las imágenes en el tamaño y formato original aquí:

¿Hay alguna operación que no haya intentado todavía/no conozca? ¿O hay una combinación de operaciones que podría ayudar en mi caso?

¡¡Cualquier ayuda sobre cómo resolver este problema sería muy apreciada!!

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Comparación de Imágenes y Detección de Contornos para el Monitoreo de Impresión 3D

    Para comparar dos imágenes tomadas durante un proceso de impresión 3D y encontrar las diferencias entre ellas, podemos utilizar Python y OpenCV. El primer paso es extraer las diferencias entre las dos imágenes, lo que podemos hacer utilizando el índice de similitud estructural de scikit-learn. La imagen resultante muestra las diferencias entre las dos capas.

    A continuación, podemos utilizar una combinación de umbralización, borrosidad, operador canny y detección de contornos para dibujar un contorno preciso de la nueva capa impresa. Necesitamos aplicar un umbral a la imagen de diferencia para reducir la cantidad de ruido y retener solo las características relevantes. Luego podemos utilizar una borrosidad gaussiana para suavizar la imagen y reducir los errores de detección de contornos. El operador canny puede detectar los bordes y podemos usarlo para obtener una imagen binaria que represente los bordes. Finalmente, podemos utilizar la función findContours para detectar los contornos de la nueva capa impresa, que podemos dibujar en la imagen original.

    Con este enfoque, podemos monitorear de manera precisa el proceso de impresión 3D y detectar las diferencias entre las capas impresas. También podemos dibujar contornos precisos de las nuevas capas impresas, lo que puede ser útil en el análisis y control de calidad del proceso de impresión 3D.

Comments are closed.