Básicamente, busca el color del fondo y reste, pero supongo que ya lo sabías. Es un poco complicado hacer esto automáticamente, pero parece posible.
En primer lugar, eche un vistazo a detección de blobs con OpenCV y vea si esto se hace básicamente para usted.
para hacerlo usted mismo:
encontrar el fondo: Hay varias opciones. Probablemente lo más fácil es hacer un histograma de la imagen, y el gran número de píxeles con valores similares es el fondo, y si hay dos colecciones grandes, el fondo será el que tenga un gran agujero en el medio. Otro enfoque es tomar una banda alrededor del perímetro como el color de fondo, pero esto parece inferior ya que, por ejemplo, la reflexión desde un flash podría alegrar dramáticamente los píxeles de fondo más céntricos.
eliminar el fondo: una primera toma de esto sería el umbral de la imagen en función del color de fondo, y luego ejecutar los algoritmos "abrir" o "cerrar" en esto, y luego usar esto como una máscara para selecciona tu artículo de ropa (El objetivo de abrir/cerrar es no quitar elementos pequeños de color de fondo en la ropa, como botones negros en una blusa blanca o, por ejemplo, reflejos brillantes en la ropa negra.)
OpenCV es una buena herramienta para esto.
La parte más difícil de esto probablemente será en la sombra alrededor del objeto (por ejemplo, una chaqueta negra sobre un fondo blanco tendrá una sombra gris continua en algunos de los bordes y dónde hacer este corte?), Pero si llega hasta aquí, publica otra pregunta.
qué tipo está usando la imagen: de 8 bits, 16 bits, blanco y negro, el color? de qué color es la ropa? ¿Están contrastados con el fondo? usted dice que quiere que el fondo sea transparente: cuéntenos un poco más acerca de su objetivo, ¿va a superponer la ropa sobre otra imagen? (¿tiene una imagen de muestra que podamos ver?) –
¿Cuál es el fondo "coherente"? ¿Es un color? – Jacob
también lo olvidé: parece que tiene muchas imágenes, ¿tiene el fondo del mismo color en todas las imágenes o el color de fondo cambia dependiendo de la imagen? –