Sesión 1 del segundo parcial
🎓 Procesamiento de Color en Imágenes Digitales
Módulo Interactivo - Sesión 1: Fundamentos y Modelos de Color
Ingeniería en Mecatrónica | UVM
📺 Pre-Sesión: Video + Preparación
📍 Cuándo: Antes de la Sesión 1
📤 Entrega: En Teams, antes de fin de sesión
🎥 PASO 1: Ver el Video (13 minutos)
Título: "Introducción a Arreglos en MATLAB"
Instructor: Said Pertuz
Contenido del Video:
- Creación de arreglos (vector, matriz)
- Indexado (acceder a elementos específicos)
- Arreglos 3D
- Operaciones básicas
🔗 LINK DEL VIDEO:
https://youtu.be/FzTlFz83A8Y?si=Q8csUm1n3H5hzgsG
⚠️ Nota: En el minuto 12:10 hay un pequeño error en el código.
El instructor lo señala—eso es OK, nadie es perfecto. Aprende del error.
📝 PASO 2: Actividad en Clase (30 minutos)
Tipo: Individual o en pareja | Entrega: En Teams
📋 4 Instrucciones de la Actividad:
En tu documento Word, escribe (en tus propias palabras):
- Concepto 1: ¿Qué es una matriz?
- Concepto 2: ¿Cómo se indexa una matriz?
- Concepto 3: ¿Qué es un arreglo 3D?
- Concepto 4: ¿Qué significa A(2,3)?
- Concepto 5: ¿Qué significa A(:,:,2)?
📌 Nota: 2-3 líneas por concepto es suficiente. Sé honesto—si no entiendes algo, escribe "No entiendo porque..."
En MATLAB, ejecuta exactamente esto:
ARREGLO 1D (Vector):
Pregunta: ¿Qué mostró la pantalla?
ARREGLO 2D (Matriz):
Pregunta: ¿Cuántas filas y columnas tiene?
ARREGLO 3D (Como Imágenes):
Pregunta: ¿Cuáles son las dimensiones? (filas × columnas × canales)
Responde estas preguntas de reflexión:
- Pregunta 1: Una imagen de 640×480 píxeles en color (RGB) es un arreglo de qué dimensiones? (Explica por qué)
- Pregunta 2: Si quiero extraer SOLO el canal Rojo, ¿qué línea de código escribiría? (Escribe el comando MATLAB)
- Pregunta 3: ¿Por qué crees que MATLAB trata las imágenes como arreglos?
- Pregunta 4: Conecta con hoy: En la Sesión 1 vamos a hacer EXACTAMENTE esto con imágenes REALES. ¿Qué esperas aprender?
Qué Entregar:
- ✅ Resumen (5 conceptos)
- ✅ Código MATLAB (3 arreglos) + capturas de pantalla
- ✅ Respuestas a 4 preguntas de reflexión
Formato:
- Archivo: Apellido_Actividad_Video.docx
- Dónde: Teams → Asignaciones → "Actividad: Resumen y Práctica del Video"
- Plazo: Antes de terminar la sesión (o máximo 2 horas después)
• No memorices—entiende
• Prueba el código—EJECUTA en MATLAB, no solo lo copies
• Sé honesto—si no entiendes, escribe "No entiendo porque..."
• Aprende del video, pero ESCRIBE en TUS PALABRAS
• Toma capturas claras de tu pantalla MATLAB
🤔 ¿Por Qué Importa el Color?
En Mecatrónica, los robots necesitan "ver" y tomar decisiones basadas en lo que ven. El color es una información crítica que permite a los sistemas automatizados identificar, clasificar y rechazar objetos en tiempo real.
Casos Reales de Aplicación
¿Qué sucedió?
Una pieza sale de la línea de producción → La cámara captura una imagen → El robot decide si la pintura es válida
Proceso Técnico:
📌 Punto Clave:
El robot usa HSV para detectar el color porque es invariante a la iluminación. Aunque la fábrica tenga diferentes luces, el rojo sigue siendo rojo.
¿Qué sucedió?
Un dron sobrevuela un campo → Captura imágenes del cultivo → Identifica plantas con coloración anormal
Proceso Técnico:
📌 Punto Clave:
Al convertir a HSV, el dron busca plantas con Hue diferente al verde esperado. Los cambios de iluminación (hora del día, nubes) no afectan la detección.
¿Qué sucedió?
Un sospechoso cruza un área monitoreada → La cámara captura → El sistema rastrea el color de la ropa a través de múltiples fotogramas
Proceso Técnico:
📌 Punto Clave:
El sistema rastrea el Hue constante de la ropa. Incluso si el sospechoso pasa por zonas oscuras o iluminadas, su color sigue siendo el mismo en HSV.
📊 Actividad para Entregar: Análisis de Casos Reales
Objetivo: Profundizar en la comprensión de aplicaciones reales del procesamiento de color.
Tipo de Entrega: Individual | Formato: Documento Word o PDF
📋 Instrucciones:
- Selecciona 1 de los 3 casos: Robot Industrial, Dron Agrícola o Cámara Seguridad
- Análisis Técnico (2-3 páginas):
- ¿Qué problema resuelve el procesamiento de color?
- ¿Por qué RGB no sería suficiente?
- ¿Cómo HSV soluciona el problema?
- Diagrama o pseudocódigo MATLAB de la solución
- ¿Qué pasaría si fallara la detección de color?
- Conexión con tu Especialidad (Mecatrónica):
- ¿Existe una aplicación similar en tu área de interés?
- ¿Cómo adaptarías este caso a esa aplicación?
- ¿Qué sensores/cámaras necesitarías?
- Conclusión Personal:
- ¿Por qué este caso es importante en Mecatrónica?
- ¿Qué aprendiste que no esperabas?
📤 Especificaciones de Entrega:
- Archivo: Apellido_Analisis_Caso_[Nombre del Caso].docx
- Extensión: 2-3 páginas (letter, 1.5 espaciado)
- Incluir: Portada, análisis, conclusión, referencias
- Ubicación: Teams → Asignaciones → "Actividad: Análisis de Casos Reales"
- Plazo: Antes de Sesión 2
✅ Rúbrica:
| Criterio | Excelente | Bueno | Regular |
|---|---|---|---|
| Análisis Técnico | Profundo, con pseudocódigo | Completo, sin pseudocódigo | Superficial o incompleto |
| Conexión Especialidad | Aplicación clara y detallada | Aplicación mencionada | Apenas relacionado |
| Presentación | Impecable, profesional | Ordenado, 1-2 errores | Desorganizado |
🔬 Fundamentos Físicos del Color
¿Qué es el Color Realmente?
Definición: El color es información codificada en radiación electromagnética.
Violeta: 380 nm ←→ Rojo: 750 nm
(nm = nanómetros = 1 billonésima de metro)
¿Cómo lo Percibimos?
| Aspecto | Descripción |
|---|---|
| Ojos | Sensor biológico que captura luz en la retina |
| Cerebro | Procesa señales nerviosas de los ojos |
| Resultado | Sensación visual (azul, rojo, verde, etc.) |
En Sistemas Digitales
| Componente | Función |
|---|---|
| Cámara | Sensor artificial (CCD/CMOS) que captura luz |
| Procesamiento | Convierte luz a números (0-255) |
| MATLAB | "Cerebro" que analiza los números |
Flujo Técnico: Cómo Captura una Cámara
⬇️ PASO 1: Luz Entra
Radiación electromagnética (380-750 nm) pasa a través de las lentes de la cámara.
⬇️ PASO 2: Lentes Enfocan
Sistema óptico (similar a tus ojos) concentra la luz en el sensor.
⬇️ PASO 3: Sensor Captura
CCD/CMOS tiene 640×480 píxeles. CADA píxel tiene 3 filtros (R, G, B) que capturan intensidad.
⬇️ PASO 4: Conversión a Números
Intensidad de luz → Voltaje eléctrico → Número 0-255
⬇️ PASO 5: Archivo Digital
640×480×3 = 921,600 números → Se guardan como .jpg, .png, .bmp
⬇️ EN MATLAB:
img = imread() carga estos 921,600 números como una MATRIZ 3D
¿Qué es un Píxel?
Ejemplo: Una imagen de 640×480 píxeles
= 307,200 píxeles individuales
= Si cada uno tiene 3 valores (R, G, B)
= 921,600 números totales
🤖 Por eso usamos computadoras: ¡no puedes procesar 900k números a mano!
🎨 Modelos de Color: RGB vs HSV
Modelo RGB (Red-Green-Blue)
¿Qué es? Cómo capturan las cámaras el color - es el formato NATIVO.
| Canal | Rango | Significado |
|---|---|---|
| Rojo (R) | 0-255 | 0 = nada de rojo | 255 = máximo rojo |
| Verde (G) | 0-255 | 0 = nada de verde | 255 = máximo verde |
| Azul (B) | 0-255 | 0 = nada de azul | 255 = máximo azul |
Ejemplos de Colores en RGB:
- (255, 0, 0) = Rojo puro
- (0, 255, 0) = Verde puro
- (0, 0, 255) = Azul puro
- (255, 255, 255) = Blanco (todos encendidos)
- (0, 0, 0) = Negro (todos apagados)
- (128, 128, 128) = Gris (todos iguales)
Pregunta: ¿Cuántos colores diferentes puede hacer RGB?
Respuesta: 256 × 256 × 256 = 16.7 millones de colores
Ventajas y Desventajas de RGB
| Ventaja ✅ | Desventaja ❌ |
|---|---|
| Datos directos del sensor | Difícil para humanos razonar |
| Estándar universal | Sensible a cambios de iluminación |
| Rápido de procesar | ¿Qué RGB es "naranja oscuro"? |
Modelo HSV (Hue-Saturation-Value)
¿Por qué existe? Porque los HUMANOS pensamos diferente a las máquinas. HSV es más INTUITIVO.
| Componente | Rango | Significado |
|---|---|---|
| Hue (Matiz) | 0°-360° | ¿De qué color es? (0°=Rojo, 120°=Verde, 240°=Azul) |
| Saturation | 0%-100% | ¿Cuán vivo/puro es el color? |
| Value (Brillo) | 0%-100% | ¿Cuán brillante es? (0%=Negro, 100%=Máximo brillo) |
Analogía: Pintura
H = ¿Qué color compraste? → Rojo
S = ¿Cuánta pintura pura vs diluida? → Más S = más pura
V = ¿Encendió la luz? → Más V = más brillante
🔑 EL CONCEPTO CLAVE: ¿Por Qué HSV es Mejor para Detección?
Comparativa en Diferentes Iluminaciones:
| Rojo en Luz Normal | Rojo en Luz Débil | ¿Se ve igual? | |
|---|---|---|---|
| RGB | (255, 0, 0) | (128, 0, 0) | ❌ Se ven DISTINTOS |
| HSV | H=0°, S=100%, V=100% | H=0°, S=100%, V=50% | ✅ Hue es IGUAL (0°) |
REGLA DE ORO: Captura con RGB (del sensor), pero CONVIERTE a HSV para detección.
¿Cuándo Usar Cada Modelo?
| Situación | Modelo | Razón |
|---|---|---|
| Captura directa de cámara | RGB | Datos nativos del sensor |
| Detectar objeto por color | HSV | Invariante a iluminación |
| Procesamiento general | RGB | Estándar universal |
| Trabajar con histogramas | HSV | Más interpretable |
💻 Guía Paso a Paso: MATLAB para Inexpertos
☕ PAUSA (10 minutos)
Has cubierto todo el contenido conceptual. Ahora vamos a la práctica.
Estira
Levántate y estira
Hidratación
Toma un poco de agua
Conexión
Platica con compañero
Mental
Respira profundo
En 10 minutos: Demostración en MATLAB → Actividad práctica en equipos
PASO 1️⃣: imread() - Cargar una Imagen
¿QUÉ HACE?
imread = Image Read = Leer una imagen del disco duro y convertirla en una MATRIZ que MATLAB pueda entender.
CÓDIGO:
DESGLOSE LÍNEA POR LÍNEA:
| Parte | Significado |
|---|---|
img |
Nombre de la VARIABLE donde se guarda la matriz |
= |
Asignación (guarda el resultado en img) |
imread() |
Función de MATLAB (existe, nosotros NO la hacemos) |
'nombre_imagen.jpg' |
Nombre del ARCHIVO (entre comillas, mismo formato) |
La imagen DEBE estar en la MISMA CARPETA que tu script .m
❌ Error: "File not found" → La imagen no está en la carpeta correcta
✅ Solución: Mueve la imagen a la misma carpeta que tu script
PASO 2️⃣: Extraer Canales RGB
¿QUÉ QUEREMOS?
Separar la imagen en 3 imágenes: solo Rojo, solo Verde, solo Azul.
RECORDATORIO DEL VIDEO:
Indexado: matriz(filas, columnas, canal)
(:,:,1) = TODAS las filas, TODAS las columnas, CANAL 1
CÓDIGO:
¿QUÉ SIGNIFICA img(:,:,1)?
| Símbolo | Significado |
|---|---|
| : (primero) | TODAS las filas |
| : (segundo) | TODAS las columnas |
| ,1 | CANAL 1 (Rojo) |
RESULTADO:
✓ Píxeles BRILLANTES = mucho de ese color
✓ Píxeles OSCUROS = poco de ese color
PASO 3️⃣: Conversión RGB → HSV
¿POR QUÉ CONVERTIMOS?
| RGB | HSV |
|---|---|
| Difícil para detectar con luz variable | Fácil para detectar (Hue invariante) |
PASO 1: Normalizar (de 0-255 a 0-1)
¿Qué hace? MATLAB necesita que RGB esté entre 0-1, no 0-255. Esta función lo convierte automáticamente.
PASO 2: Convertir a HSV
¿Qué hace? Convierte automáticamente RGB normalizado a HSV. NO necesitas entender la matemática - MATLAB lo hace.
RESULTADO:
hsv_img ahora contiene la MISMA imagen pero en HSV.
CÓMO EXTRAER H, S, V:
TODO ESTO OCURRE AUTOMÁTICAMENTE
Tú escribes 2 líneas de código
MATLAB hace la magia 🪄
Código Completo Resumido:
✏️ Cuestionario Autoevaluable
Responde las siguientes 5 preguntas basadas en el contenido de este módulo. Tu puntuación se calculará automáticamente.
1. ¿Cuál es el rango de longitud de onda visible para el color?
2. En el modelo RGB, ¿cuál es el rango de valores para cada canal?
3. ¿Cuál es la PRINCIPAL ventaja de HSV sobre RGB para detección de objetos?
4. En MATLAB, ¿qué comando se usa para cargar una imagen?
5. ¿Qué significa img(:,:,1) en MATLAB?
📈 Tus Resultados
🎓 Certificado de Aprendizaje
Este certificado reconoce que
ha completado exitosamente el módulo:
Procesamiento de Color en Imágenes Digitales
Sesión 1: Fundamentos y Modelos de Color
Ingeniería en Mecatrónica | UVM
🏠 Tarea para Casa y Próxima Sesión
Después de completar el cuestionario y recibir tu certificado, aquí están tus tareas para profundizar el aprendizaje.
📚 DISTRIBUCIÓN DE TIEMPO: 9 HORAS TOTALES
⏱️ BLOQUE 1: Investigación (3 horas)
✏️ Actividad 5: Reporte de Investigación
Título: "RGB vs HSV en Detección de Objetos"
Componentes del Reporte:
- 1. Introducción: ¿Por qué estudiamos dos modelos de color?
- 2. Fundamentos RGB: Definición, rango, ejemplos
- 3. Fundamentos HSV: Definición, rango, ejemplos
- 4. Tabla Comparativa: RGB vs HSV (mínimo 8 filas)
- 5. Análisis Técnico: ¿Por qué HSV es mejor para detección?
- 6. Aplicación en Mecatrónica: Ejemplo real de tu especialidad
- 7. Código MATLAB: Incluir ejemplo de conversión RGB→HSV
- 8. Conclusión: Síntesis de aprendizajes
- 9. Bibliografía: Mínimo 3 fuentes académicas
Especificaciones:
- Extensión: 3-5 páginas (letter, doble espacio)
- Formato: Word (.docx) o PDF
- Incluir: Portada, índice, figuras/tablas, referencias
- Nombre archivo: Apellido_Actividad5_RGBvsHSV.docx
Rúbrica de Evaluación:
| Criterio | Excelente (100%) | Bueno (80%) | Regular (60%) |
|---|---|---|---|
| Contenido | Todos los 9 componentes completos | 7-8 componentes | 5-6 componentes |
| Profundidad | Análisis técnico profundo | Análisis básico correcto | Descripción superficial |
| Presentación | Impecable, profesional | Ordenado, 1-2 errores | Desorganizado, muchos errores |
| Bibliografía | 5+ fuentes académicas | 3-4 fuentes | <3 fuentes |
📤 Entrega: Teams → Asignaciones → "Actividad 5" | Plazo: Antes de Sesión 2
💻 BLOQUE 2: Laboratorios Prácticos (4 horas)
Tipo: Prácticas de Programación en MATLAB
🔬 Laboratorio 1: Manipulación de Canales RGB (1.5 horas)
Objetivo: Dominar extracción y recombinación de canales
Tareas:
- Carga una imagen con imread()
- Extrae los 3 canales (R, G, B)
- Muestra cada canal por separado (usa subplot)
- Crea una imagen "falsa" intercambiando canales (Ej: R←G, G←B, B←R)
- Modifica intensidades (ej: dobla el canal rojo)
- Documenta observaciones en comentarios MATLAB
📤 Entrega: Script .m + captura de pantalla | Archivo: Apellido_Lab1_RGB.m
🔬 Laboratorio 2: Conversión y Análisis HSV (1.5 horas)
Objetivo: Entender HSV como alternativa a RGB
Tareas:
- Convierte la misma imagen de Lab 1 a HSV
- Extrae H, S, V por separado
- Compara visualmente: ¿Cuál formato (RGB o HSV) es más intuitivo?
- Modifica el Hue (rota el color)
- Modifica la Saturation (aumenta/disminuye intensidad de color)
- Modifica el Value (brillo)
- Observa cómo cada componente afecta la imagen
📤 Entrega: Script .m + análisis | Archivo: Apellido_Lab2_HSV.m
🔬 Laboratorio 3: Proyecto Mini (1 hora)
Objetivo: Aplicación práctica con tu propia imagen
Tareas:
- Descarga/toma una FOTO TUYA (o de algo que te interese)
- Cargala en MATLAB
- Extrae y analiza sus canales RGB
- Convierte a HSV
- Crea una visualización comparativa (6 subplots: R, G, B, H, S, V)
- Escribe un párrafo describiendo los colores dominantes en HSV
🎯 Creatividad Bonus: Modifica tu imagen (cambia colores con HSV) y crea algo artístico
📤 Entrega: Script .m + imagen original + imagen procesada | Archivo: Apellido_Lab3_Proyecto.m
📋 BLOQUE 3: Foro de Discusión (Bonus - 2 horas)
Actividad 6: Foro - "Aplicaciones de Color en Mecatrónica"
Tipo: Discusión colaborativa en Teams
Instrucciones:
- Publica: Una aplicación de Mecatrónica donde se use procesamiento de color
- Explica: ¿Qué problema resuelve? ¿Por qué color es importante?
- Analiza: ¿Usarías RGB o HSV? ¿Por qué?
- Responde: A mínimo 2 publicaciones de compañeros
- Reflexiona: ¿Cómo esto influye en tu carrera futura?
📤 Ubicación: Teams → "Foro de Discusión Sesión 1" | Plazo: Antes de Sesión 2
🔮 Próxima Sesión (Semana 9)
SESIÓN 2: Transformaciones y Falso Color
Temas a Cubrir:
- 🔄 Transformaciones de Color: Rotaciones, escalamientos
- 🎨 Falso Color: Asignación de colores a datos
- 🖼️ Visualización Avanzada: Mapas de calor, pseudocolor
- 🎯 Segmentación: Aislamiento por rango de color en HSV
- 🤖 Aplicación Industrial: Detección robusta en sistemas reales
🎯 Cómo Prepararte:
- ✅ Completa TODAS tus tareas de esta semana
- ✅ Domina los Labs 1, 2 y 3 (los necesitarás en Sesión 2)
- ✅ Entiende RGB vs HSV (será la base)
- ✅ Ten MATLAB instalado y funcionando
- ✅ Prepara preguntas si no entendiste algo
⚡ Spoiler de Sesión 2:
"El verdadero poder del procesamiento de color es cuando lo combinas con segmentación. Imagina detectar un objeto rojo específico incluso si está en sombra, detrás de otros objetos, o en una imagen caótica. Eso es lo que aprenderás en Sesión 2."
✅ Checklist Final de Sesión 1
🎓 ¡Felicidades!
Has completado Sesión 1: Fundamentos y Modelos de Color. Tienes una base sólida para Sesión 2.
Próximo paso: Revisa tu cronograma. ¿Cuándo es Sesión 2? Planifica tus 9 horas de tarea para terminar antes de esa fecha.
⚡ Spoiler de Sesión 2
"El verdadero poder del procesamiento de color es cuando lo combinas con segmentación. Imagina detectar un objeto rojo específico incluso si está en sombra, detrás de otros objetos, o en una imagen caótica. Eso es lo que aprenderás en la Sesión 2."