/RGB2BW

Matlab R2021b program that reads an image and transforms it to grayscale using the NTSC formula and the rgb2gray function in order to know the differences (it is recommended to have installed: "Image Processing Toolbox").

Primary LanguageMATLABEclipse Public License 2.0EPL-2.0

Introducción

Se plantea hacer una matriz del tamaño de la imagen y con los datos anteriores convertir la imagen de color a escala de grises; pero antes de comenzar:

¿Qué es el procesamiento digital de imagenes (PDI)?

PDI se puede definir como el conjunto de procesamientos que se realizan sobre una imagen digital ya sea para realizar su almacenamiento, transmisión o tratamiento.

Imagenes a color

Una imagen digital a color es una matriz tridimensional, que se compone por tres planos conocidos como RGB (Red, Green, Blue); con la combinación de estos 3 elementos en las proporciones correspondientes se puede formar cualquier otro color

Convertir una imagen de 8 bits a escala de grises

Los valores RGB se convierten a escala de grises mediante la formula NISC (National Television Standards Comitee)

$Img_{Gray}=0.299R+0.587G+0.114*B$

Formatos de imagenes que soporta Matlab

Formato Extensión
TIFF .tiff
JPEG .jpeg
GIF .gif
BMP .bpm
PNG .png
XWD .xwd

Ahora que conocemos lo basico del procesamiento digital de imágenes es hora de hablar de como se usa matlab para esto.

Lectura de imágenes en matlab

Para leer una imágen en matlab se utiliza la función imread y se asigna a una variable que representara a la imágen

imagen = imread('ruta/nombre de la imágen.extensión');

Mostrar una imágen

La función imshow permite mostrar una imágen abierta, modificada o creada desde matlab (la imagen se visualiza en una ventana de matlab)

imshow(imagen)

Guardar una imágen

Para guardar el contenido de una imagen la cual ha sido modificada o creada en matlab se utiliza la función imwrite

imwrite(variable,'nombre del arvhivo.extención')

En donde 'variable' representa la variable que contiene a la imágen, 'nombre del archivo', el nombre con el que se desea guardar seguido de un punto se indica el tipo de formato deseado

Otras formas

Para obtener los 3 planos (RGB), se puede usar la función: imsplit

Mientras que para obtener la imágen en escala de grises tambien se puede hacer uso de la función: rgb2gray

Código