Estoy escribiendo una aplicación de Android en OpenCV para detectar blobs. Una tarea es el umbral de la imagen para diferenciar los objetos de primer plano del fondo (ver imagen).¿Cómo obtener el valor de umbral del histograma?
Funciona bien siempre que se conozca la imagen y puedo pasar manualmente un valor de umbral a threshold() - en esta imagen concreta, digamos 200. Pero suponiendo que la imagen no se conoce con el único conocimiento de que existe sería un fondo sólido oscuro y objetos en primer plano más claros ¿cómo puedo calcular dinámicamente el valor umbral?
He encontrado el histograma donde puedo calcular la distribución de intensidad de la imagen en escala de grises. Pero no pude encontrar un método para analizar el histograma y elegir el valor donde se encuentran los objetos de interés (más claro). Es decir; Quiero diferenciar los picos de fondo obviamente oscuros de los picos más claros del primer plano, en este caso por encima de 200, pero en otro caso podría decirse, 100 si los objetos son grisáceos.
Hay 'sa un montón de métodos para eso. Tal vez el Método de Otsu podría funcionar para ti. Si no, sigue siendo un buen punto de partida en mi humilde opinión. http://en.wikipedia.org/wiki/Otsu%27s_Method – Florian
¿Se puede subir una imagen en la que 100 umbral es bueno? Porque en la imagen encima del umbral 50 también es aceptable ... – ArtemStorozhuk