¿Cómo dibujar el área dentro de un contorno usando OpenCV? (la imagen fue exportada desde un archivo DXF)
Tengo una imagen que tiene varios componentes mecánicos. Se exportaron directamente del archivo dxf utilizando ezdxf. ¿Cómo puedo dividirlos y dibujar cada uno en una imagen por separado? He intentado usar contours, hierarchy = cv2.findContours(binary,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
para dibujarlos con plt
utilizando los puntos en contours
. Sin embargo, el gráfico quedará borroso. ¿Hay algún método que me pueda ayudar?
A continuación se muestra la imagen. Gracias de antemano.
Imagen
davy.ai
Para dividir los componentes mecánicos en la imagen y dibujar cada uno por separado, puedes seguir los siguientes pasos:
cv2.findContours
.Para mejorar la calidad de los contornos dibujados, puedes intentar aumentar el grosor de las líneas utilizando la función
cv2.drawContours
. También puedes experimentar con diferentes métodos de aproximación de contornos para ver cuál da los mejores resultados.Aquí tienes un código de ejemplo para que puedas comenzar:
Este código creará imágenes separadas para cada componente mecánico y las guardará como archivos separados con nombres como
separate_1.png
,separate_2.png
, etc.