Sistema Retro TV: Visión Artificial

1. Conceptualización y Flujo del Sistema

El proyecto nació como una instalación interactiva que explora la relación entre la nostalgia tecnológica y la visión artificial moderna. A través de un modelo 3D de un televisor antiguo (CRT), el usuario se ve reflejado no como una imagen nítida, sino como un flujo de datos y movimiento procesado en tiempo real, transformando su presencia física en una señal estética y efímera.

Búsqueda de Referentes

Diseño de Interacción

Diagrama de Flujo Principal (AI Video Processing Pipeline)
Diagrama de Flujo Original: Procesamiento CV hacia Rotación 3D

Imagenes de Referencia

A lo largo de la conceptualización, la premisa principal fue emular texturas de terminal verde fosforescente, desgaste visual propio de los televisores de tubo y consolas clásicas.

2. Arquitectura de Software e Implementación

Para garantizar una ejecución limpia, escalable y mantenible, el código final fue refactorizado y dividido en la siguiente estructura Modular ES6:

sketch.js — El Orquestador General

Es el "cerebro" central de la aplicación. Maneja el bucle draw() de p5.js, importa sub-módulos y administra la captura de la webcam y lógica de visión.

channels.js — Renderizado de TV (2D)

Contiene la estética pura y retro. Genera Texturas Dinámicas (lienzo de 256x256) que simulan los canales de la televisión:

three_scene.js — El Entorno de Renderizado 3D

Se comunica con el Canvas 2D de p5.js y lo mapea como un material fotoluminiscente (mapa Emisivo) en el modelo GLTF del televisor antiguo.

3. Controles e Interactividad

El televisor cuenta con una interfaz de depuración completa y métodos múltiples de interacción pensados para emular un escenario analógico.

Tecla / Interacción Acción que desencadena
1 - 5 Cambiar manualmente a los canales 1, 2, 3, 4 o 5. Aparecerá el indicador "CH 0X" tipo OSD en pantalla verde superior.
Gesto (Mano) Desliza la mano en la parte superior frente a la cámara web (izq a der / der a izq) para subir o bajar de canal automáticamente usando Computer Vision.
W - S Mover Paleta Izquierda (Jugador 1) en el Canal 5 (Pong clásico).
- Mover Paleta Derecha (Jugador 2) en el Canal 5 (Pong clásico).
N Reiniciar el juego de Pong (Coloca marcadores a 0 y saca del lateral la pelota).
C Capturar Fondo (Background). Es obligatorio presionar C al inicio estando fuera de cámara para que el rastreo tridimensional de Three.js empiece de forma precisa frente al usuario en limpio.
R Resetear / Borrar el Fondo memorizado (En caso de perturbación de luz).
V Abrir/Cerrar Panel Lateral de DEBUG (Permite ajustar Thresholds visuales).
>> INICIAR TELEVISIÓN <<