EP03_05 🔲 Aplicación de Máscara AND Binaria
En sistemas de inspección industrial por visión por computadora, es necesario aislar regiones de interés (ROI) en imágenes de piezas para verificar defectos de fabricación. La operación AND bit a bit con una máscara binaria es el mecanismo fundamental para recortar exactamente el área de inspección, poniendo a cero todos los píxeles fuera de ella.
Ver en Figura 3.30 una simulación de este EP.
📋 Directrices de Implementación
Dimensiones: Leer los enteros \(L\) (filas) y \(C\) (columnas).
Datos: Leer la matriz de píxeles \(f\) (valores \(\in [0, 255]\) ).
Máscara: Leer la matriz binaria \(m\) (valores: solo 0 o 255).
Mapeo: Para cada píxel \((i,j)\) , aplicar el AND bit a bit:
\[
g(i,j) = f(i,j) \;\text{AND}\; m(i,j)
\]
donde \(255 =\) 11111111 y \(0 =\) 00000000 en binario.
Salida: Mostrar la matriz resultante \(L \times C\) .
📌 Restricciones Computacionales
AND con 255: \(p \; \text{AND} \; 255 = p\) (todos los bits preservados).
AND con 0: \(p \; \text{AND} \; 0 = 0\) (todos los bits puestos a cero).
Máscara: Los únicos valores posibles en la máscara son 0 y 255.
Implementación: En Python, el AND bit a bit entre enteros usa el operador &.
🧠 Fundamentación Teórica
cualquier \(v\)
255 (11111111)
\(v\) (preservado)
cualquier \(v\)
0 (00000000)
0 (puesto a cero)
📦 Especificación de Entrada y Salida (VPL)
Entrada:
Línea 1: Entero \(L\) .
Línea 2: Entero \(C\) .
Líneas siguientes: Elementos de \(f\) (\(L\) líneas).
Líneas siguientes: Elementos de \(m\) (\(L\) líneas con valores 0 o 255).
Salida:
Matriz resultante \(L \times C\) .
📌 Ejemplos
2
3
100 150 200
50 80 120
255 255 0
0 255 255
100 150 0
0 80 120
La máscara selecciona la región
1
4
10 20 30 40
255 0 255 0
10 0 30 0
Alternado preservado/puesto a cero
Figura 3.30: Simulador EP03_05: Aplicación de Máscara AND Binaria
%% writefile EP03_05.cpp
// your solution
TestSuite("EP03_05.cpp" ).run()
✔️ EP03_05.cases ya existe en casos/
📋 5 caso(s) cargado(s) de casos/EP03_05.cases
🔍 Probando C++: EP03_05.cpp
⚠️ EP03_05.cpp: archivo vacío (menos de 3 líneas). Pruebas omitidas.