2012-10-05 35 views
20

Creo que esto puede ser una pregunta estúpida, pero después de leer mucho y buscar mucho acerca de procesamiento de imágenes todos los ejemplos que veo sobre el procesamiento de imágenes utiliza la escala de grises para trabajarpor qué debemos usar la escala de grises para el procesamiento de imágenes

Entendí que las imágenes en escala de grises usan solo un canal de color, que normalmente es necesario solo 8 bit para ser representado, etc ... pero, ¿por qué usar una escala de grises cuando tenemos una imagen en color? ¿Cuáles son las ventajas de una escala de grises? Me imagino que eso se debe a que tenemos menos bits para tratar, pero incluso hoy en día con computadoras más rápidas, ¿es necesario?

no estoy seguro de si estaba claro acerca de mi duda, espero que alguien me puede responder

muchas gracias

+1

Incluso si no aplica escala de grises a la imagen, todo el procesamiento de imágenes requiere algún tipo de colapso de datos, ya que incluso con las computadoras modernas, el procesamiento de imágenes en bruto es casi imposible. Incluso nuestros cerebros, que podríamos decir que son computadoras construidas principalmente para tales tareas, comprimen e ignoran gran cantidad de información visual para hacer posible la vista. – Primus202

Respuesta

22

Como explained by John Zhang:

luminancia es mucho más importante en características visuales distintivas

John también da una excelente sugerencia para ilustrar esta propiedad: tome una imagen dada y separar el plano de luminancia de los planos de crominancia.

Para hacerlo puede utilizar ImageMagick separate operador que extrae el contenido actual de cada canal de una imagen de escala de grises como:

convert myimage.gif -colorspace YCbCr -separate sep_YCbCr_%d.gif 

Esto es lo que da una imagen de muestra (arriba a la izquierda en: la imagen original en color, arriba a la derecha: plano de luminancia, fila inferior: planos de crominancia):

enter image description here

18

Para elaborar un poco sobre la respuesta de Deltheil:

  1. Señal de ruido. Para muchas aplicaciones de procesamiento de imágenes, la información de color no nos ayuda a identificar bordes importantes u otras características. Hay excepciones. Si hay un borde (un cambio de paso en el valor de píxel) en matiz que es difícil de detectar en una imagen en escala de grises, o si necesitamos identificar objetos de tonalidad conocida (fruta anaranjada frente a hojas verdes), la información de color podría ser útil. Si no necesitamos color, entonces podemos considerarlo ruido. Al principio es un poco contradictorio "pensar" en escala de grises, pero te acostumbras.
  2. Complejidad del código. Si desea encontrar bordes basados ​​en la luminancia Y la crominancia, tiene más trabajo por delante. Ese trabajo adicional (y la depuración adicional, el dolor adicional en el apoyo del software, etc.) es difícil de justificar si la información de color adicional no es útil para las aplicaciones de interés.
  3. Para aprender a procesar imágenes, primero es mejor entender el procesamiento de escala de grises y comprender cómo se aplica al procesamiento multicanal en lugar de comenzar con imágenes a color y perder todos los conocimientos importantes que se pueden aprender del procesamiento de un solo canal.
  4. Dificultad de visualización. En las imágenes en escala de grises, el algoritmo de cuenca es bastante fácil de conceptualizar porque podemos pensar en las dos dimensiones espaciales y una dimensión de brillo como una imagen 3D con colinas, valles, cuencas hidrográficas, crestas, etc. "Brillo máximo" es solo un pico de montaña en nuestra visualización 3D de la imagen en escala de grises. Hay una serie de algoritmos para los cuales una interpretación "física" intuitiva nos ayuda a pensar a través de un problema.En RGB, HSI, Lab y otros espacios de color, este tipo de visualización es mucho más difícil ya que hay dimensiones adicionales que el cerebro humano estándar no puede visualizar fácilmente. Claro, podemos pensar en "enrojecimiento máximo", pero ¿cómo se ve ese pico de montaña en un espacio (x, y, h, s, i)? Ay. Una solución es pensar en cada variable de color como una imagen de intensidad, pero eso nos lleva directamente al procesamiento de imágenes en escala de grises.
  5. El color es complejo. Los humanos perciben el color e identifican el color con facilidad engañosa. Si te metes en el negocio de intentar distinguir los colores entre sí, entonces querrás (a) seguir la tradición y controlar la iluminación, la calibración del color de la cámara y otros factores para garantizar los mejores resultados, o (b) resolver para un viaje de una carrera en un tema que se profundiza cuanto más lo mires, o (c) desearía poder volver a trabajar en escala de grises porque al menos entonces los problemas parecen resolverse.
  6. Velocidad. Con las computadoras modernas, y con la programación paralela, es posible realizar el procesamiento simple píxel por píxel de una imagen megapíxel en milisegundos. Reconocimiento facial, OCR, cambio de tamaño sensible al contenido, segmentación del cambio medio y otras tareas pueden llevar mucho más tiempo que eso. Independientemente del tiempo de procesamiento requerido para manipular la imagen o extraer algunos datos útiles de ella, la mayoría de los clientes/usuarios desean que sea más rápida. Si hacemos la suposición ondulada de que el procesamiento de una imagen en color de tres canales lleva tres veces más tiempo que procesar una imagen en escala de grises, o tal vez cuatro veces más, dado que podemos crear un canal de luminancia separado, entonces no es un gran tratar si estamos procesando imágenes de video sobre la marcha y cada fotograma puede procesarse en menos de 1/30 o 1/25 de segundo. Pero si analizamos miles de imágenes de una base de datos, es genial si podemos ahorrarnos tiempo de procesamiento al cambiar el tamaño de las imágenes, analizar solo porciones de imágenes y/o eliminar los canales de color que no necesitamos. Reducir el tiempo de procesamiento por un factor de tres a cuatro puede significar la diferencia entre ejecutar una prueba de 8 horas durante la noche que finaliza antes de volver al trabajo y tener los procesadores de la computadora vinculados durante 24 horas seguidas.

De todos estos, destacaré los dos primeros: simplifique la imagen y reduzca la cantidad de código que tiene que escribir.

0

El binario puede ser demasiado simple y no puede representar el caracter de la imagen. El color puede ser demasiado y afectar la velocidad de procesamiento.

Por lo tanto, se elige la escala de grises, que está en el medio de los dos extremos.

3

No estoy de acuerdo con la implicación de que las imágenes en escala de grises son siempre mejores que las imágenes en color; depende de la técnica y del objetivo general del procesamiento. Por ejemplo, si quisieras contar las bananas en una imagen de una taza de fruta, entonces es mucho más fácil segmentar cuando tienes una imagen coloreada.

Muchas imágenes tienen que estar en escala de grises debido al dispositivo de medición utilizado para obtenerlas. Piensa en un microscopio electrónico. Está midiendo la fuerza de un haz de electrones en varios puntos espaciales. Un AFM mide la cantidad de vibraciones de resonancia en varios puntos topológicamente en una muestra. En ambos casos, estas herramientas están devolviendo un valor singular, una intensidad, por lo que implícitamente están creando una imagen en escala de grises.

Para las técnicas de procesamiento de imágenes basadas en el brillo, a menudo pueden aplicarse lo suficiente al brillo general (escala de grises); sin embargo, hay muchas instancias donde tener una imagen coloreada es una ventaja.

Cuestiones relacionadas