Cierre Unidad 2

16.05.2026
Sesión de Cierre - El Costo del Color

🚁 El Costo del Color en la Industria 4.0

Sesión de Cierre Parcial: De la redundancia de datos a la segmentación inteligente

El Desafío del Dron Agrícola

Tenemos un dron sobrevolando un campo de cultivo. Su misión es detectar zonas con déficit de nitrógeno (hojas amarillentas) usando una cámara de alta resolución (4K) a 30 FPS. Debe transmitir el video en tiempo real a la estación base para la toma de decisiones. El ancho de banda de radiofrecuencia es muy limitado.

Aclaración Cognitiva: ¿Qué es RGB?

Antes de calcular el impacto, recordemos cómo almacena la cámara esta información:

  • El Modelo RGB: Es un modelo aditivo basado en la síntesis de luz. Cualquier color visible en una pantalla se forma sumando Red (Rojo), Green (Verde) y Blue (Azul).
  • Profundidad de 8 bits por canal: Para que las transiciones de luz se vean naturales al ojo humano, los ingenieros determinaron que necesitamos 256 niveles de intensidad por cada color. (Desde 0 = apagado, hasta 255 = brillo máximo).
  • Matemática binaria: "Profesor, no entiendo por qué 256." Imagínate que un "bit" es un interruptor de luz: solo puede estar encendido (1) o apagado (0). Si tienes 1 interruptor, tienes 2 opciones. Si tienes 2, tienes 4 combinaciones. Para lograr esos 256 tonos exactos, necesitamos multiplicar 2 por sí mismo 8 veces (28 = 256). A este paquete exacto de 8 interruptores le llamamos "1 Byte". ¡Por eso guardar la intensidad de un solo color te cuesta exactamente 1 Byte de memoria!
  • Peso total del píxel: Como nuestra pantalla necesita mezclar los 3 colores para engañar al ojo, necesitamos guardar 3 intensidades distintas. Si sumamos el canal R (1 Byte) + G (1 Byte) + B (1 Byte), un solo píxel RGB pesa 3 Bytes (24 bits) en la memoria de la computadora.

Resolvamos Juntos: El Costo Computacional

Sabiendo que cada píxel cuesta 3 Bytes de memoria, vamos a calcular el peso de transmitir video 4K en crudo (RAW) en tiempo real. (Anoten este desarrollo paso a paso).

Paso 1: Resolución Total
3840 x 2160 = 8,294,400 píxeles por fotograma
Paso 2: Peso de 1 Fotograma (Frame)
8,294,400 píxeles × 3 Bytes = 24,883,200 Bytes
Conversión: 24,883,200 / (1024 * 1024) ≈ 23.7 MB (aprox. 24.8 MB en decimal base 10)
Paso 3: Transmisión de Video (30 FPS)
24.8 MB × 30 fotogramas = 744 MB por segundo!
Conclusión del equipo: Transmitir 744 MB/s por radiofrecuencia en un dron es físicamente imposible. Desperdiciamos el 95% del ancho de banda enviando información basura o redundante (cielo, tierra, sombras). Solución: Necesitamos segmentar por color a bordo del dron, crear una máscara binaria (1 bit en lugar de 24 bits) y transmitir solo las coordenadas de las zonas enfermas.

Ejemplo visual de la inmensa cantidad de "Información Basura" que satura la transmisión si enviamos todo el paisaje:

Campo agrícola con información redundante

Laboratorio Guiado paso a paso (MATLAB / OpenCV)

Abran su entorno de desarrollo. Hoy crearemos el algoritmo que irá dentro del microprocesador del dron para segmentar la imagen antes de intentar comprimirla o transmitirla.

Paso 1: Cargar la imagen aérea de prueba

Instrucción: Busquen en internet y descarguen una imagen aérea de un cultivo agrícola que tenga algunas hojas amarillentas o enfermas. Guárdenla con el nombre cultivo.jpg y colóquenla en la misma carpeta que su script. Vamos a leerla en la memoria RAM.

% 1. Leer imagen y mostrarla img = imread('cultivo.jpg'); figure(1); imshow(img); title('Imagen aerea original (Fotograma Dron)');
Paso 2 (El Error): Intentar segmentar con RGB

Un ingeniero novato intentaría separar el color amarillo buscando altos niveles de Rojo (R) y Verde (G). Veamos por qué esto falla en el mundo real.

% Separar canales RGB R = img(:,:,1); G = img(:,:,2); B = img(:,:,3); % Mostrar el canal Rojo figure(2); imshow(R); title('Canal Rojo (R)');
🚨 ¿Qué observan? El canal Rojo no solo ilumina las hojas amarillas, también ilumina la tierra seca. Peor aún, las hojas amarillas que están bajo sombra se ven oscuras en el canal R y G. El modelo RGB es esclavo de la iluminación. No nos sirve para detectar color de forma robusta.
Paso 3 (La Solución): Convertir a HSV y Aislar

Para independizarnos de las sombras (iluminación), convertiremos la matriz al espacio Hue, Saturation, Value y trabajaremos únicamente con el canal H (Matiz).

% Convertir RGB a HSV hsv_img = rgb2hsv(img); % Extraer solo el canal H (Hue) H = hsv_img(:,:,1); % Mostrar el mapa de matiz (Hue) figure(3); imshow(H); title('Canal H (Matiz Puro)');

Nota técnica de MATLAB: A diferencia de los 360 grados convencionales, MATLAB normaliza el Hue de 0 a 1. El color amarillo (hoja enferma) se encuentra aproximadamente entre los valores 0.11 y 0.17.

Paso 4: La Máscara Binaria y Resultado Final

Ahora crearemos una matriz lógica (0 y 1) preguntándole a MATLAB: "¿Qué píxeles están en el rango del color amarillo?". Luego, multiplicaremos esa máscara por la imagen original.

% Crear máscara binaria (1 = amarillo, 0 = cualquier otra cosa) mascara = (H > 0.11) & (H < 0.17); % Visualizar la máscara (Vemos exactamente las hojas enfermas) figure(4); imshow(mascara); title('Mascara Binaria (Localizacion de Plaga)'); % Aplicar la máscara a la imagen original a color % Replicamos la máscara 2D en 3 canales (R,G,B) mascara3D = repmat(mascara, [1 1 3]); % Hacemos una copia de la original y apagamos lo que NO es plaga img_final = img; img_final(~mascara3D) = 0; % El símbolo ~ significa "NOT" (inverso) figure(5); imshow(img_final); title('Resultado: Segmentacion Aislada');
✅ Logro Desbloqueado: El dron ya no tiene que transmitir 24.8 MB de video inútil. Ahora puede aplicar compresión Run-Length a los millones de píxeles negros, reduciendo el archivo a unos cuantos Kilobytes, o simplemente enviar las coordenadas (x,y) de los píxeles blancos de la máscara.

Paisaje Original RGB
(La plaga está ahí, pero rodeada de ruido)

Paisaje Original

Transformación: Máscara Binaria
(1 Bit: La única información útil)

Máscara Binaria

Actividad Individual: Reporte Técnico de Integración

El código que acabamos de desarrollar es funcional, pero un ingeniero mecatrónico no solo programa; documenta y justifica sus decisiones. Como actividad de cierre, deberán entregar un reporte profesional a nivel universitario sobre esta práctica.

Estructura Obligatoria del Documento

  • 1. Introducción: Presentación del problema del ancho de banda en vehículos autónomos (Drones) y la necesidad de pre-procesamiento a bordo.
  • 2. Marco Teórico: Explicación técnica de:
    • El modelo RGB y por qué falla ante cambios de iluminación.
    • El modelo HSV (Específicamente qué es el Matiz/Hue).
    • Por qué una imagen con grandes bloques de color negro sólido (producto de una máscara binaria) tiene alta redundancia espacial y es altamente compresible.
  • 3. Desarrollo de la Práctica: El código desarrollado en clase, comentado línea por línea por ustedes, acompañado de las capturas de pantalla de los 5 Figures generados con su propia imagen.
  • 4. Conclusión: Un párrafo reflexivo sobre el ahorro computacional demostrado hoy y cómo esta técnica se conecta con lo visto en el parcial.
  • 5. Referencias: Formato APA (mínimo 2 libros o artículos académicos).

Especificaciones de Entrega

  • Formato: Archivo PDF. Formato institucional UVM o plantilla IEEE.
  • Plataforma: Microsoft Teams (Asignación: "Reporte Dron Agrícola").
  • Puntualidad: Será evaluado como actividad integral de cierre de parcial.

💡 Módulo de Cierre Parcial - Procesamiento Digital de Imágenes

Ingeniería Mecatrónica | Universidad del Valle de México | 2026

Share
Maestro Víctor Manuel García Ríos
Todos los derechos reservados 2022
Creado con Webnode Cookies
¡Crea tu página web gratis! Esta página web fue creada con Webnode. Crea tu propia web gratis hoy mismo! Comenzar