2009-09-23 23 views
5

Tengo un próximo proyecto que trata sobre la segmentación de imágenes, es decir, para agrupar los píxeles que constituyen la imagen en grupos basados ​​en ciertas propiedades visuales del píxel.OpenCV Vs ImageMagick?

Planeamos hacerlo en C++ y nos hemos centrado en dos bibliotecas de procesamiento de imágenes/manipulación: OpenCV e ImageMagick. Estoy leyendo en ImageMagick y parece que tiene muchas API para manipular la imagen. Eso está bien, pero en nuestro proyecto usaríamos bastante álgebra lineal y manipulaciones matriciales relacionadas con los píxeles que forman la imagen, para poder hacer la segmentación. Me pregunto si ImageMagick tiene algún soporte para eso.

¿Qué tal OpenCV, qué tan bueno es para satisfacer mis necesidades?

Respuesta

5

He usado OpenCV para este tipo de tarea y he encontrado que funciona muy bien. Está bien documentado y tiene muchos de los tipos de operaciones que uno necesita para el análisis de imágenes. No veo cómo ImageMagick podría siquiera ayudarte a empezar con esto.

Supongo que lo que quiere decir con "segmentación de imagen" es agrupar píxeles en clústeres según su valor y los valores de los píxeles vecinos. Si solo cuenta las propiedades de los píxeles de forma independiente y básicamente solo desea cargar una imagen en una matriz, probablemente no importe lo que use; pero para hacer cualquier análisis, OpenCV es el camino a seguir, o al menos vale la pena mirarlo bien.

Sugiero observar algunas de las funciones típicas que se necesitan, como Erode, Canny Edge Detection, Adaptive Thresholds, contornos algoritmos, etc., y comprobar si ImageMagick tiene alguno de estos.

+0

Gracias! OpenCV está en línea con lo que quiero, ya que tiene API aptas para segmentar una imagen en sus clústeres constituyentes en función de características visuales como el color, la intensidad y la textura. – Arnkrishn

+0

De nada. Espero que OpenCV funcione para usted. – tom10

5

opencv es más adecuado para Computer Vision, ImageMagick es una herramienta de procesamiento de imagen mucho más genérica.

Encuentro ImageMagick más útil para los proyectos de procesamiento de imágenes, ya que tiene un conjunto más rico de API que OpenCV.

Pero si está trabajando en cosas relacionadas con Computer Vision, como por ejemplo detección de objetos, OpenCV podría ser bueno.

-4

ImageMagick está en un estado de basura ahora. Documentación fragmentada, API inconsistentes entre idiomas y errores en todas partes son comunes. Está prácticamente muerto.

+1

He estado usando ImageMagick en mis proyectos durante años y no he enfrentado ningún error. y sobre la parte muerta, ¿podría proporcionarnos la referencia? –