Logo Studenta

T5_19131535_TSMYCA

¡Estudia con miles de materiales!

Vista previa del material en texto

Temas Selectos de Mecatrónica y Control Automático 
INSTITUTO TECNOLOGICO DE LA LAGUNA 
 
 El objetivo principal de esta práctica fue aprender el 
procedimiento digital de imágenes la cual nos permite mejorar 
la calidad o facilitar la búsqueda de información a través de 
operaciones matemáticas. 
 
Cálculo de AOD, Conteo de bits, Derivar, Filtros Media 
Simple, Planos De Bits, Operaciones Lógicas 
 
The main objetive of this practice was to learn the digital 
imaging procedure which allows us to improve the quality or 
facilitate the search for information 
 
AOD Calculation, Bit Count, Derive, Simple Mean Filters, Bit 
Planes, Logic Operations 
Figura 1. La Mona Lisa, Obra de Leonardo Da Vinci (Imagen Original) 
I. INTRODUCCIÓN 
En este tema nos guiará a manejar el filtro de imágenes a 
través de operaciones matemáticas de manera sencilla las 
cuales nos permitirá modificarlas de manera que 
queramos al igual esto nos permitirá conocer de manera 
más profesional el programa Matlab. 
Las operaciones que utilizaremos será matrices con una 
frecuencia elevada es decir que estas matrices nos 
permitirá entender de manera más completa la resolución 
de las imágenes 
 
 
 
1 Adscripción de los autores, comenzando con el nombre completo de la 
universidad o institución, Dependencia y Departamento (si es el caso), 
Dirección completa, Colonia, C.P. 00000, Ciudad, Estado, País. 
2 En el caso que haya más de una adscripción, incluirla en otro renglón. 
Si todos los participantes pertenecen a la misma adscripción solo 
anotarla una vez.* Correo electrónico del autor de contacto. 
 
II. DESARROLLO. 
A. Cálculo De AOD De Una Imagen. 
Para poder calcular el AOD (Average optical density) 
necesitaremos iniciar con un acumulador este permite 
calcular de manera precisa el valor de AOD. 
𝐴𝑂𝐷(𝑓) = ∑𝑘𝐻𝑓(𝑘)
𝐾−1
𝑘=0
 
%OBTENER EL AOD 
D=int64(0); %Inicializacion Del Acumulador 
for k=1 :m 
 for l=1 :n 
 c=int64(M(k,l)); %Hacer int64 El Valor Del Pixel 
 D = D + c; 
 end 
end 
E=m*n; %Cantidad De Pixeles En La Imagen 
AOD = (D /E) %Promedio De Densidad óptica 
 
 
Después que obtengamos AOD aplicamos el resultado en 
forma de valor umbral el cual nos permitirá obtener una 
imagen en forma binaria con valor preciso del umbral. 
 
%Aplicar El AOD a como Valor De Umbral 
A1=zeros(m,n); 
for k=1 :m 
 for l=1 :n 
 if M(k,l) < AOD 
 A1(k,l)=0; 
 else 
 A1(k,l)=255; 
 end 
 end 
end 
 
Posteriormente calculamos por medio de un histograma la 
cual nos mostrara a través de una gráfica el escalado de 
AOD. La cual consiste en realizar una tabla la cual lleve el 
conteo de cuantos bits pasa en la imagen o otra manera de 
decir es que obtenga el numero de bits de la imagen. 
Tarea 5 Filtrado Espacial de Imágenes 
 Docente: Juan Sifuentes Mijares 
Carrera: Ingeniería Electrónica Alumno: Luis Rodolfo Guzman Carrillo N°Control:19131535 
 
mailto:amidiq2008@uaem.mx
Temas Selectos de Mecatrónica y Control Automático 
INSTITUTO TECNOLOGICO DE LA LAGUNA 
 
 
Figura 2. Escala De Grises Por Método AOD. 
 
%Obtener El Histograma De Una Imagen 
tabla=zeros(1,256); 
Apuntador = 0; 
for k=1 :m 
 for l=1 :n 
 Apuntador = M(k,l)+1; 
 tabla(Apuntador) = tabla(Apuntador)+1; 
 end 
end 
plot(tabla) 
 
 Figura 3. Conteo De Bits A Través De Histograma. 
 
B. Filtro De Media Simple Con Mascara De 3x3 
Este método nos sirve para poder realizar un suavizado de 
manera simple ya que este método es intuitivo lo cual 
permite comprender y fácil de implementar 
 
Nos permite eliminar el ruido de las imágenes a través de 
operaciones matriciales las cual nos darán específicamente 
el píxel que queremos modificar 
%PROMEDIAR LOS VALORES DE LOS PIXELES 
CERCANOS ES DECIR HARA UN SUAVIZADO 
A1 = zeros(m,n); 
for k=2 :m - 1 %%Es menos 1 porque se estan 
quitando los bordes 
 for l=2 :n - 1 
 C1 = int64(M(k-1,l-1)); 
 C2 = int64(M(k,l-1)); 
 C3 = int64(M(k+1,l-1)); 
 C4 = int64(M(k-1,l)); 
 C5 = int64(M(k,l)); 
 C6 = int64(M(k+1,l)); 
 C7 = int64(M(k-1,l+1)); 
 C8 = int64(M(k,l+1)); 
 C9 = int64(M(k+1,l+1)); 
 S1 = C1 + C2 + C3 + C4 + C5 + C6 + C7 + C8 + 
C9; 
 S0 = S1/9; 
 A1(k,l) = S0; 
 end 
end 
% figure; 
% imshow(uint8(A1)) 
 
Figura 4. Filtro De Media Simple Con Mascara De 3x3 
C. Filtro de media ponderada con mascara escala de 3 x 
3 de una imagen 
Al igual que el punto anterior este es similar pero lo que 
los diferencia es que esta es una operación no lineal ósea 
la nueva imagen se genera a base de hallar la mediana de 
los valores del entorno del píxel, repetidos tantas veces 
como indique una determinada máscara. Este método 
busca valores de menor a mayor y así aplica la máscara. 
 
A2 = zeros(m,n); 
for k=2 :m - 1 %%Es menos 1 porque se estan 
quitando los bordes 
 for l=2 :n - 1 
 C1 = 1 * int64(M(k-1,l-1)); 
 C2 = 2 * int64(M(k,l-1)); 
 C3 = 1 * int64(M(k+1,l-1)); 
 C4 = 2 * int64(M(k-1,l)); 
 C5 = 4 * int64(M(k,l)); 
 C6 = 2 * int64(M(k+1,l)); 
 C7 = 1 * int64(M(k-1,l+1)); 
 C8 = 2 * int64(M(k,l+1)); 
 C9 = 1 * int64(M(k+1,l+1)); 
 S1 = C1 + C2 + C3 + C4 + C5 + C6 + C7 + C8 + 
C9; 
Temas Selectos de Mecatrónica y Control Automático 
INSTITUTO TECNOLOGICO DE LA LAGUNA 
 
 S0 = S1/16; 
 A2(k,l) = S0; 
 end 
end 
 
% figure; 
% imshow(uint8(A2)) 
 
Figura 5. Filtro De Media Ponderada Con Mascara De 3x3 
D. Filtro de media orex con mascara de 3 x 3 
Este método es similar al los anteriores pero en este caso 
buscamos dejar de manera matricial de valores 0 en forma 
de reglones y en forma de columnas el cual nos mostrara 
el cambio. 
A3 = zeros(m,n); 
for k=2 :m - 1 %%Es menos 1 porque se estan 
quitando los bordes 
 for l=2 :n - 1 
 C1 = 1 * int64(M(k-1,l-1)); 
 C2 = 0 * int64(M(k,l-1)); 
 C3 = 1 * int64(M(k+1,l-1)); 
 C4 = 1 * int64(M(k-1,l)); 
 C5 = 0 * int64(M(k,l)); 
 C6 = 1 * int64(M(k+1,l)); 
 C7 = 1 * int64(M(k-1,l+1)); 
 C8 = 0 * int64(M(k,l+1)); 
 C9 = 1 * int64(M(k+1,l+1)); 
 S1 = C1 + C2 + C3 + C4 + C5 + C6 + C7 + C8 + C9; 
 S0 = S1/6; 
 A3(k,l) = S0; 
 end 
end 
 
figure; 
imshow(uint8(A3)) 
 
A4 = zeros(m,n); 
for k=2 :m - 1 %%Es menos 1 porque se estan 
quitando los bordes 
 for l=2 :n - 1 
 C1 = 1 * int64(M(k-1,l-1)); 
 C2 = 1 * int64(M(k,l-1)); 
 C3 = 1 * int64(M(k+1,l-1)); 
 C4 = 0 * int64(M(k-1,l)); 
 C5 = 0 * int64(M(k,l)); 
 C6 = 0 * int64(M(k+1,l)); 
 C7 = 1 * int64(M(k-1,l+1)); 
 C8 = 1 * int64(M(k,l+1)); 
 C9 = 1 * int64(M(k+1,l+1)); 
 S1 = C1 + C2 + C3 + C4 + C5 + C6 + C7 + C8 + C9; 
 S0 = S1/6; 
 A4(k,l) = S0; 
 end 
end 
 
figure; 
imshow(uint8(A4)) 
 
 
Figuras 6-7. Filtro Por Media OREX Con Máscara De 3x3 
 
E. Derivada digital 
 
La derivada digital esta se basa en términos de pixeles, de 
manera que existen varias formas para definir 
preferencias, pero estas deben cumplir que. 
 
La primera derivada debe ser 0 en zonas de intensidad 
constante y distintas de 0 en zonas de variaciones. 
 
Segunda derivada debe ser 0 en zona de intensidad 
constante y a lo largo de las rampas con intensidad 
constantes y estas deben ser distintas de 0 en escalone, 
comienzo, y fin de rampa. 
 
Temas Selectos de Mecatrónica y Control Automático 
INSTITUTO TECNOLOGICO DE LA LAGUNA 
 
clear all; 
close all; 
 
%LEE UNA IMAGEN 
M = imread('MONA.BMP'); 
[m,n] = size(M); 
 
A1=zeros(m,n); 
for k=1 :m 
 for l=1 :n-1 
 x0=int64(M(k,l)); 
 x1=int64(M(k,l+1)); 
 d=x1-x0;A1(k,l) = d; 
 end 
end 
 
figure; 
imshow(uint8(A1)) 
 
A2=zeros(m,n); 
for k=1 :m 
 for l=1 :n-1 
 x0=int64(A1(k,l)); 
 x1=int64(A1(k,l+1)); 
 d=x1-x0; 
 A1(k,l) = d; 
 end 
end 
 
figure; 
imshow(uint8(A2)) 
 
A3=zeros(m,n); 
for l=1 :n 
 for k=1 :m-1 
 x0=int64(A1(k,l)); 
 x1=int64(A1(k+1,l)); 
 d=x1-x0; 
 A1(k,l) = d; 
 end 
end 
 
figure; 
imshow(uint8(A3)) 
 
A4=zeros(m,n); 
for l=1 :n 
 for k=1 :m-1 
 x0=int64(A3(k,l)); 
 x1=int64(A3(k+1,l)); 
 d=x1-x0; 
 A3(k,l) = d; 
 end 
end 
 
figure; 
imshow(uint8(A4)) 
 
 
A5=zeros(m,n); 
for k=1 :m 
 for l=1 :n 
 N=int64(A1(k,l)); 
 D=int64(A3(k,l)); 
 r=(N-D)/2; 
 A5(k,l) = r; 
 end 
end 
 
figure; 
imshow(uint8(A5)) 
 
 
Figuras 8-9. Derivada Digital de una Imagen 
 
 
F. Planos de bits 
 
El plano de bits se refiere a las cantidades de capas que 
contiene una imagen, las cuales están conformadas por 
bits, estas podemos mostrarlas a través de el siguiente 
código. 
clear all; 
close all; 
 
%LEE UNA IMAGEN 
M = imread('MONA.BMP'); 
[m,n] = size(M); 
 
Temas Selectos de Mecatrónica y Control Automático 
INSTITUTO TECNOLOGICO DE LA LAGUNA 
 
A1=zeros(m,n); 
A2=zeros(m,n); 
A3=zeros(m,n); 
A4=zeros(m,n); 
A5=zeros(m,n); 
A6=zeros(m,n); 
A7=zeros(m,n); 
A8=zeros(m,n); 
for k=1 :m 
 for l=1 :n-1 
 D=fi (M(k,l)); 
 S=bin(D); 
 if S(1)=='0' 
 A1(k,l) = 0; 
 else 
 A1(k,l)=255; 
 end 
 if S(2)=='0' 
 A2(k,l) = 0; 
 else 
 A2(k,l)=255; 
 end 
 if S(3)=='0' 
 A3(k,l) = 0; 
 else 
 A3(k,l)=255; 
 end 
 if S(4)=='0' 
 A4(k,l) = 0; 
 else 
 A4(k,l)=255; 
 end 
 if S(5)=='0' 
 A5(k,l) = 0; 
 else 
 A5(k,l)=255; 
 end 
 if S(6)=='0' 
 A6(k,l) = 0; 
 else 
 A6(k,l)=255; 
 end 
 if S(7)=='0' 
 A7(k,l) = 0; 
 else 
 A7(k,l)=255; 
 end 
 if S(8)=='0' 
 A8(k,l) = 0; 
 else 
 A8(k,l)=255; 
 end 
 end 
end 
 
figure; 
imshow(uint8(A1)) 
figure; 
imshow(uint8(A2)) 
figure; 
imshow(uint8(A3)) 
figure; 
imshow(uint8(A4)) 
figure; 
imshow(uint8(A5)) 
figure; 
imshow(uint8(A6)) 
figure; 
imshow(uint8(A7)) 
figure; 
imshow(uint8(A8)) 
 
 
Figura 10. Planos de bits (la imagen se deteriora de la capa principal a la 
capa final) 
 
G. Operaciones Lógicas de una imagen 
 
Podemos realizar Operaciones Lógicas en una imagen a 
través de su funcionamiento las cual nos permite modificar 
ciertas áreas de la imagen la cuales tendrán diferente 
resultado. 
 
clear all; 
close all; 
 
%LEE UNA IMAGEN 
M = imread('MONA.BMP'); 
[m,n] = size(M); 
 
%OBTENER EL AOD 
D=int64(0); %Inicializacion Del Acumulador 
for k=1 :m 
 for l=1 :n 
 c=int64(M(k,l)); %Hacer int64 El Valor Del Pixel 
 D = D + c; 
 end 
end 
E=m*n; %Cantidad De Pixeles En La Imagen 
AOD = (D /E) %Promedio De Densidad Optica 
 
Temas Selectos de Mecatrónica y Control Automático 
INSTITUTO TECNOLOGICO DE LA LAGUNA 
 
%Aplicar El AOD a como Valor De Umbral 
A1=zeros(m,n); 
for k=1 :m 
 for l=1 :n 
 if M(k,l) < AOD 
 A1(k,l)=0; 
 else 
 A1(k,l)=255; 
 end 
 end 
end 
 
figure; 
imshow(uint8(A1)) 
 
%OPERACION AND CON RENGLON DE 3 
A2=zeros(m,n); 
for k=2 :m-1 
 for l=2 :n-1 
 
 C1=-1*int64(A1(k-1,l)); 
 C2=2*int64(A1(k,l)); 
 C3=1*int64(A1(k+1,l)); 
 S1=C1+C2+C3; 
 if S1==0 
 A2(k,l)= 0; 
 else 
 A2(k,l)= 255; 
 end 
 end 
end 
figure; 
imshow(uint8(A2)) 
%OPERACION OR CON COLUMNA DE 3 
A3=zeros(m,n); 
for k=2 :m-1 
 for l=2 :n-1 
 C1=-int64(A1(k-1,l)); 
 C2=int64(A1(k,l)); 
 C3=int64(A1(k+1,l)); 
 S1=C1+C2+C3; 
 if S1==(255*2) 
 A3(k,l)= 255; 
 else 
 A3(k,l)= 0; 
 end 
 end 
end 
figure; 
imshow(uint8(A3)) 
 
 
 
Figura 11. Operación lógica AND 
Figura 12. Operación Lógica OR 
 
 
h. Filtrado Lineal. 
Es aquel que toma la suma total de todos los puntos 
matriciales en pixeles para mostrarnos diferente tipos de 
edición los cuales pueden ser que te muestre de manera 
binaria la edición en forma horizontal y vertical 
 
clear all; 
close all; 
 
%LEE UNA IMAGEN 
M = imread('MONA.BMP'); 
[m,n] = size(M); 
 
A1=zeros(m,n); 
for k=2 :m-1 
 for l=2 :n-1 
 C1=1*int64(M(k-1,l-1)); 
 C2=2*int64(M(k,l-1)); 
 C3=1*int64(M(k+1,l-1)); 
 C4=0*int64(M(k-1,l)); 
 C5=0*int64(M(k,l)); 
 C6=0*int64(M(k+1,l)); 
 C7=-1*int64(M(k-1,l+1)); 
 C8=-2*int64(M(k-1,l+1)); 
 C9=-1*int64(M(k+1,l+1)); 
 S1=C1+C2+C3+C4+C5+C6+C7+C8+C9; 
 S0=S1; 
 A1(k,l)= S0; 
 end 
end 
Temas Selectos de Mecatrónica y Control Automático 
INSTITUTO TECNOLOGICO DE LA LAGUNA 
 
figure; 
imshow(uint8(A1)) 
 
A2=zeros(m,n); 
for k=2 :m-1 
 for l=2 :n-1 
 C1=-1*int64(M(k-1,l-1)); 
 C2=0*int64(M(k,l-1)); 
 C3=1*int64(M(k+1,l-1)); 
 C4=-2*int64(M(k-1,l)); 
 C5=0*int64(M(k,l)); 
 C6=2*int64(M(k+1,l)); 
 C7=-1*int64(M(k-1,l+1)); 
 C8=0*int64(M(k-1,l+1)); 
 C9=1*int64(M(k+1,l+1)); 
 S1=C1+C2+C3+C4+C5+C6+C7+C8+C9; 
 S0=S1; 
 A2(k,l)= S0; 
 end 
end 
figure; 
imshow(uint8(A2)) 
 
A3=zeros(m,n); 
for k=2 :m-1 
 for l=2 :n-1 
 C1=-1*int64(A1(k-1,l-1)); 
 C2=0*int64(A1(k,l-1)); 
 C3=1*int64(A1(k+1,l-1)); 
 C4=-2*int64(A1(k-1,l)); 
 C5=0*int64(A1(k,l)); 
 C6=2*int64(A1(k+1,l)); 
 C7=-1*int64(A1(k-1,l+1)); 
 C8=0*int64(A1(k-1,l+1)); 
 C9=1*int64(A1(k+1,l+1)); 
 S1=C1+C2+C3+C4+C5+C6+C7+C8+C9; 
 S0=S1; 
 A3(k,l)= S0; 
 end 
end 
figure; 
imshow(uint8(A3)) 
 
Figura 13. Filtrado Lineal. 
 
 
III. CONCLUSION 
 
El filtrado espacial trata de mostrarnos diferentes maneras 
de edición el cual nos completara nivel académico en la 
formación de manejo del programa de Matlab, este tema 
nos muestra el manejo matricial de las imágenes las cuales 
están compuesta por cierto nivel de colores. 
 
IV. BIOGRAFÍA 
 
 GUZMAN CARRILLO LUIS RODOLFO. 
NACIDO EN TORREÓN, COAHUILA, MÉXICO EL 
04/ABRIL/2001 LOS LUGARES ESTUDIANTILES EN 
DONDE EJERCIÓ ACADÉMICAMENTE FUERON: 
1. KINDER: NUEVA CREACIÓN, UBICADO EN 
RICON LA MERCED, SALIÓ CERTIFICADO EL 
AÑO 2007 
2. PRIMARIA: IGNACIO ZARAGOZA SUR, 
UBICADO EN LOS ARENALES, SALIÓ CON 
CERTIFICADO EL AÑO 2013. 
3. SECUNDARIA: CARLOS MANUEL SADA N° 
14, UBICADO EN EX. HACIENDA LA PERLA, SALIÓ CON 
CERTIFICADO EL AÑO 2016. 
4. PREPARATORIA: CONALEP. UBICADO EN COL. LA MERCED II, 
SALIÓ CON CERTIFICA Y TITULO EN TÉCNICO EN 
MANTENIMIENTO EN SISTEMAS ELECTRÓNICOS, EL AÑO 2019. 
EL ACTUALMENTE TRABAJA EN EL ÁREA DE TINTORERÍA EN EL 
NEGOCIO MAJESTIC EL CUAL ESTÁ UBICADO ENTRE JUÁREZ Y TREVIÑO 
LLEVA LABORANDO 4 MESES, PERO ESE NO FUE SU ÚNICO TRABAJO 
ANTERIORMENTE LABURO EN: 
1. COCINERO, KING RIBS 
2. AYUDANTE GENERAL, CARPINTERÍA 
3. MESERO, PIRATA BURGER 
4. TAQUERO, BEERBOOK 
5. MESERO/BARTEDER, BEERBOOK 
EL TEC. GUZMAN, ACTUALMENTE PERTENECE AL EQUIPO DE 
ROBÓTICA DESERT EAGLES 5705, PERO AL CURSAR LA SECUNDARIA 
PARTICIPO EN LA CONVENCIÓN DE CRISTALES Y MATERIALES EN PEÑOLES.

Continuar navegando

Materiales relacionados

164 pag.
IM20DC~1

User badge image

Contenido de Estudio

116 pag.
Algoritmo para Contar Automóveis

ITESM

User badge image

Todo para Aprender