El procesamiento de imágenes es una técnica fundamental en MATLAB que permite manipular y analizar imágenes digitales. Este módulo te guiará a través de los conceptos básicos y avanzados del procesamiento de imágenes utilizando MATLAB.

Contenido

Introducción al Procesamiento de Imágenes

El procesamiento de imágenes implica la manipulación de imágenes digitales para mejorar su calidad o extraer información útil. MATLAB proporciona una amplia gama de funciones para el procesamiento de imágenes a través de su toolbox de procesamiento de imágenes.

Conceptos Clave

  • Imagen Digital: Una representación de una imagen en forma de matriz de píxeles.
  • Píxel: La unidad más pequeña de una imagen digital, que contiene información de color e intensidad.
  • Resolución: La cantidad de píxeles en una imagen, generalmente expresada como ancho x alto.

Lectura y Escritura de Imágenes

MATLAB permite leer y escribir imágenes en varios formatos como JPEG, PNG, TIFF, etc.

Lectura de Imágenes

% Leer una imagen desde un archivo
img = imread('imagen.jpg');
% Mostrar la imagen
imshow(img);

Escritura de Imágenes

% Guardar una imagen en un archivo
imwrite(img, 'nueva_imagen.png');

Transformaciones Básicas de Imágenes

Las transformaciones básicas incluyen operaciones como el cambio de tamaño, rotación y recorte de imágenes.

Cambio de Tamaño

% Cambiar el tamaño de una imagen
img_resized = imresize(img, [256, 256]);
imshow(img_resized);

Rotación

% Rotar una imagen
img_rotated = imrotate(img, 45); % Rotar 45 grados
imshow(img_rotated);

Recorte

% Recortar una imagen
img_cropped = imcrop(img, [50, 50, 200, 200]); % [x, y, width, height]
imshow(img_cropped);

Filtrado de Imágenes

El filtrado de imágenes se utiliza para mejorar la calidad de la imagen o para extraer características específicas.

Filtro de Suavizado

% Aplicar un filtro de suavizado
img_smoothed = imgaussfilt(img, 2); % Filtro Gaussiano con sigma = 2
imshow(img_smoothed);

Filtro de Realce

% Aplicar un filtro de realce
img_sharpened = imsharpen(img);
imshow(img_sharpened);

Segmentación de Imágenes

La segmentación de imágenes es el proceso de dividir una imagen en partes significativas para su análisis.

Umbralización

% Convertir la imagen a escala de grises
img_gray = rgb2gray(img);
% Aplicar umbralización
bw = imbinarize(img_gray, 0.5); % Umbral de 0.5
imshow(bw);

Detección de Bordes

La detección de bordes es una técnica para identificar los límites de los objetos dentro de una imagen.

Detección de Bordes con Canny

% Convertir la imagen a escala de grises
img_gray = rgb2gray(img);
% Aplicar el detector de bordes de Canny
edges = edge(img_gray, 'Canny');
imshow(edges);

Ejercicios Prácticos

Ejercicio 1: Lectura y Visualización de Imágenes

Instrucciones: Lee una imagen de tu elección y muéstrala en una ventana de MATLAB.

Código de Ejemplo:

img = imread('tu_imagen.jpg');
imshow(img);

Ejercicio 2: Transformaciones Básicas

Instrucciones: Realiza las siguientes transformaciones en una imagen:

  1. Cambia su tamaño a 128x128 píxeles.
  2. Rótala 90 grados.
  3. Recorta una región de 100x100 píxeles desde la esquina superior izquierda.

Código de Ejemplo:

img_resized = imresize(img, [128, 128]);
img_rotated = imrotate(img_resized, 90);
img_cropped = imcrop(img_rotated, [0, 0, 100, 100]);
imshow(img_cropped);

Ejercicio 3: Filtrado y Detección de Bordes

Instrucciones: Aplica un filtro de suavizado a una imagen y luego detecta sus bordes utilizando el método de Canny.

Código de Ejemplo:

img_smoothed = imgaussfilt(img, 2);
img_gray = rgb2gray(img_smoothed);
edges = edge(img_gray, 'Canny');
imshow(edges);

Conclusión

En esta sección, hemos cubierto los conceptos básicos del procesamiento de imágenes en MATLAB, incluyendo la lectura y escritura de imágenes, transformaciones básicas, filtrado, segmentación y detección de bordes. Estos fundamentos te prepararán para abordar tareas más avanzadas en el procesamiento de imágenes y análisis en MATLAB.

En el siguiente módulo, exploraremos el procesamiento de señales, donde aprenderás a manipular y analizar señales digitales utilizando MATLAB.

© Copyright 2024. Todos los derechos reservados