Funciones > Procesamiento de imágenes > Manipulación de imágenes > Ejemplo: binarización y cuantificación
Ejemplo: binarización y cuantificación
Utilice la función binarize para producir una imagen con 2 niveles de grises. Utilice quantize para producir una imagen con n niveles de grises.
Por cada elemento en la imagen, las funciones devuelven 0 si el elemento es ≤ hasta un umbral especificado y devuelven 1 si el elemento es mayor que el umbral.
La binarización y la cuantificación se pueden utilizar para mejorar las funciones de una imagen seleccionando el umbral o el número de niveles adecuados. También pueden ser un primer paso en un análisis de imagen.
Para obtener información sobre el uso de este ejemplo, consulte Acerca de los ejemplos de procesamiento de imágenes
binarize
1. Utilice la función READ_IMAGE para leer una imagen.
Pulse aquí para copiar esta expresión
(bridge.bmp)
2. Defina el umbral.
Pulse aquí para copiar esta expresión
3. Utilice la función binarize para generar una imagen binarizada.
Pulse aquí para copiar esta expresión
4. Utilice la función WRITEBMP para grabar la imagen binarizada en un fichero.
Pulse aquí para copiar esta expresión
(bridge_bin.bmp)
Puede cambiar el valor de thresh para ver el efecto en la imagen.
Definición automática de la binarización
Utilice la binarización automática para realzar los elementos interesantes en las aplicaciones de visión automática.
Si no se ha especificado ningún valor umbral, la función binarize calculará uno automáticamente.
1. Lea una imagen digitalizada en escala de grises de una pieza industrial.
Pulse aquí para copiar esta expresión
2. Binarice la imagen.
Pulse aquí para copiar esta expresión
3. Grabe la imagen binarizada en un fichero.
Pulse aquí para copiar esta expresión
(part.gif)
(part_bin.bmp)
Utilización de los argumentos opcionales
Para enfatizar o desenfatizar rangos concretos de niveles, se pueden proporcionar los argumentos opcionales lowThresh, highThresh, inValue e outValue. Se binarizan todos los niveles entre lowThresh e highThresh hasta inValue, y los demás niveles se binarizan hasta outValue. Los valores para los parámetros de entrada son arbitrarios y no hace falta que estén comprendidos entre 0 y 255. inValue y outValue podrían ser iguales. Si esto ocurre, toda la imagen se definirá en un único nivel.
1. Defina los niveles de imagen de 50 a 150 y a 25, y el resto de los niveles en 200.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
2. Binarice la matriz de imagen bridgegray con los argumentos opcionales.
Pulse aquí para copiar esta expresión
3. Grabe la imagen binarizada en un fichero.
Pulse aquí para copiar esta expresión
(bridge_bin2.bmp)
quantize
1. Aplique la función quantize a la imagen en escala de grises utilizada anteriormente.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
2. Grabe la imagen cuantificada en un fichero.
Pulse aquí para copiar esta expresión
(bridge_q3.bmp)
3. Especifique los niveles de un vector y cuantifique la misma imagen. Compare esta cuantificación de 3 niveles con la anterior:
Pulse aquí para copiar esta expresión
Los valores en v deben estar estrictamente en orden ascendente, pero pueden ser un número real cualquiera. Esta especificación resulta útil si se desea utilizar niveles de cuantificación no separados por espacios homogéneos en el rango de la imagen dada.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
(bridge_q3v.bmp)
¿Fue esto útil?