SlideShare una empresa de Scribd logo
Universidad Nacional de Quilmes – Ing. en Automatización y Control Industrial
Cátedra: Visión Artificial
Septiembre de 2005

Comandos de MatLab utilizados para el procesamiento de imágenes.
Cargar imágenes en matrices:
A=double(imread(NombreImagen,Formato));
Donde NombreImagen representa el nombre de la imagen con el path completo y
Formato representa el formato de la imagen. La función double se utiliza para poder
realizar operaciones con la matriz A que implican números decimales (hay ciertas
operaciones que no se pueden hacer con variables del tipo uint8 como lo son los niveles
de gris de las imágenes que utilizamos generalmente). El formato de imagen comúnmente
utilizado es el tif .
Ejemplo:
A=double(imread('C:MATLAB6p5toolboximagesimdemoscircuit.tif','tif'));
En el caso de imágenes en formato jpg, se debe hacer un paso más para obtener la imagen en escala de grises (debido a la forma en que se almacena la imagen jpg).
Ejemplo:
A=double(imread('C:MATLAB6p5toolboximagesimdemosfootball.jpg','jpg'));
A=A(:,:,1);
Visualizar imágenes a partir de una matriz:
imshow(uint8(A))
Donde A es la matriz que representa la imagen y uint8 se utiliza para convertir los elementos de A en enteros de 8 bits (256 niveles de gris). Si la imagen ya está en formato
uint8 no es necesario usar la función ‘uint8’.
Visualizar más de una imagen en una misma ventana:
subplot(2,2,1);imshow(uint8(A))
subplot(2,2,2);imshow(uint8(B))
subplot(2,2,3);imshow(uint8(C))
subplot(2,2,4);imshow(uint8(D))
En este caso, se visualiza un arreglo de imágenes de 2x2. Lo mismo se puede hacer
para ver otro tipo de gráficos.
Operaciones con matrices:
u=[1 2 3 4];
u=[1;2;3;4];

% Crea un vector columna
% Crea un vector fila

Comandos comunes de Matlab para el procesamiento de imágenes

1
Universidad Nacional de Quilmes – Ing. en Automatización y Control Industrial
Cátedra: Visión Artificial
Septiembre de 2005

A=[1 2 3;4 5 6];

% Crea una matriz de 2x3 con los elementos indicados

A=ones(n,m);
A=ones(n);

% Crea una matriz de 1’s de nxm
% Crea una matriz de 1’s de orden n

[n,m]=size(A);

% Almacena en n y m el número de filas y columnas, respectivamente, de A

B=ones(size(A));

% Crea una matriz de 1’s del mismo tamaño de A

A=zeros(n,m);
A=zeros(n);

% Crea una matriz de 0’s de nxm
% Crea una matriz de 0’s de orden n

B=zeros(size(A));

% Crea una matriz de 0’s del mismo tamaño de A

C=A.’;
% C es la transpuesta de A
# Cuando se trabaja con matrices que no son reales se puede utilizar lo siguiente
C=A’;
% C es la transpuesta conjugada de A
A=B+C;
A=B-C;
A=B.*C;

% Suma de matrices
% Resta de matrices
% Multiplicación elemento a elemento de matrices

B=(A>umbral)*k;

% B será una matriz del mismo tamaño de A cuyos elementos
serán 0 o k dependiendo si los elementos análogos de A son
mayores que el umbral

A(i,j) representa el elemento de la fila i y la columna j de la matriz A
A(i:j,u:v) es la matriz formada por los elementos de la matriz A que se encuentran
entre las filas i y j y las columnas u y v.
Ejemplo:

1 2 3 4
5 6 7 8

A=
 9 10 11 12


13 14 15 16

7 8 
⇒ A( 2 : 3,3 : 4) = 

11 12

Algunas sentencias:
Bucle for
Generalmente se utiliza en la siguiente forma:
for Variable=ValorInicial:Incremento:ValorFinal
....
end
Comandos comunes de Matlab para el procesamiento de imágenes

2
Universidad Nacional de Quilmes – Ing. en Automatización y Control Industrial
Cátedra: Visión Artificial
Septiembre de 2005

Ejemplos:
nU=10;
u=zeros(1,nU);
for i=2:2:nU
u(i)=u(i-1)+i;
end
Luego, u=[0 2 0 4 0 6 0 8 0 10].
# Si el incremento es 1 no es necesario explicitarlo (for i=2:nU).
Al igual que en la mayoría de los lenguajes de programación se pueden anidar los bucles for. Por ejemplo,
for i=1:nA
for j=1:mA
...........
end
end
Para establecer los límites y el incremento de la variable que rige el bucle se pueden utilizar expresiones (siempre utilizando paréntesis, como se indica en el ejemplo):
i=1;
j=1;
nU=10;
u=zeros(1,nU);
for i=(i+j):2:nU
u(i)=u(i-1)+i;
end
Condicional if
Su forma general es la que sigue:
if Expresión
....
elseif Expresión
....
else
....
end
Donde Expresión representa la condición (o condiciones) que debe cumplirse para que
se ejecuten las instrucciones que siguen a continuación. elseif se utiliza para evitar
colocar varios if...end. Tanto elseif como else son opcionales.
Para construir la Expresión se pueden utilizar los siguientes operadores: ==, <, >, <=,
>=, o ~= (distinto). Ejemplos:
Comandos comunes de Matlab para el procesamiento de imágenes

3
Universidad Nacional de Quilmes – Ing. en Automatización y Control Industrial
Cátedra: Visión Artificial
Septiembre de 2005

if I == J
A(I,J) = 2;
elseif abs(I-J) == 1
A(I,J) = -1;
else
A(I,J) = 0;
end
También se pueden utilizar los operadores | o & que representan las operaciones or y
and, respectivamente. Ejemplo:
for i=1:nC
for j=1:mC
if (Ruido(i,j)<200 | Ruido(i,j)>255)
Ruido(i,j)=0;
end
end
end
Funciones y comandos relacionados con las transformadas:
Transformada discreta de Fourier en dos dimensiones
Fa=fft2(A);
Esta función mapea las frecuencias altas en el centro del espectro mientras que las
frecuencias más bajas se encuentran en la periferia. Para colocar la frecuencia cero en el
centro del espectro se debe utilizar, además, la función fftshift de la siguiente forma:
Fa=fft2(A);
Fa=fftshift(Fa);
o
Fa=fftshift(fft2(A));
Antitransformada discreta de Fourier en dos dimensiones
A=ifft2(Fa);
Debido a que Fa es una matriz compleja, al antitransformar pueden quedar ciertos residuos de números imaginarios que se deben a la precisión limitada del cálculo. Esto hace
que la imagen resultante esté constituida por algunos píxeles con nivel de gris complejo,
algo que es absurdo.
Para evitar esto, se utiliza la función abs que devuelve el módulo de los elementos de
una matriz.
A=abs(ifft2(Fa));

Comandos comunes de Matlab para el procesamiento de imágenes

4
Universidad Nacional de Quilmes – Ing. en Automatización y Control Industrial
Cátedra: Visión Artificial
Septiembre de 2005

Visualización de la transformada discreta de Fourier
En realidad, lo que se grafica en tres dimensiones es la magnitud de la transformada
discreta de Fourier.
mesh(abs(Fa))
Como en la mayoría de los casos, se utiliza una escala logarítmica en el espacio de
frecuencias. Esto se realiza de la siguiente forma:
mesh(log(abs(Fa)))
Filtro Digital: Y= filter2(B,X);
La función filter2 filtra los datos en X con el núcleo dado por la matriz B. El resultado, Y,
es calculado por medio de una correlación en dos dimensiones y es del mismo tamaño
que X.
Generalmente, se debe pasar a la función un parámetro adicional para que devuelva la
parte central de la correlación:
Y= filter2(B,X,’same’);
Filtro de Mediana:
B=medfilt2(A,[M N]);

Realiza el filtro de mediana sobre la imagen B. M y N
son el número de filas y el de columnas de la máscara

Algunas funciones especiales:
b=fix(a);

% Toma la parte entera del número a

c=round(a);

% Redondea al entero más cercano

B=min(B,100); % En este ejemplo, min devuelve el valor más bajo entre B y 100

255 45 178
B =  12 100 99 


 0
27 89 


B=max(B,50);

B = min(B,100)

100 45 100
⇒ B =  12 100 99 


 0
27 89 



% En este ejemplo, max devuelve el valor más alto entre B y 50

100 45 100
B =  12 100 99 


 0
27 89 



B = max(B,100)

100 50 100
⇒ B =  50 100 99 


 50 50 89 



Comandos comunes de Matlab para el procesamiento de imágenes

5
Universidad Nacional de Quilmes – Ing. en Automatización y Control Industrial
Cátedra: Visión Artificial
Septiembre de 2005

v=mean(u);
b=mean(A);
b=mean(mean(A));

% Calcula el promedio del vector u
% Calcula los promedios de las columnas de A. B es un vector
fila
% Calcula el promedio de la matriz A

v=sum(u);
b=sum(A);
b=sum(sum(A));

% Calcula la suma de los elementos del vector u
% Calcula la suma de las columnas de A. B es un vector fila
% Calcula la suma de los elementos de A

[I,J]=find(A);

% Devuelve los índices de las filas y columnas de los
elementos distintos de cero de la matriz A

pixval

% Muestra las coordenadas y el nivel de gris del píxel señalado
por el puntero del mouse cuando éste se ubica sobre la imagen
en una figura

H=hist(A);

% Calcula el histograma de A. A debe estar en formato uint8,
de lo contrario, se debe convertir: uint8(A)

imhist(A)

% Muestra en una figura el histograma de A (que debe ser un
array uint8)

Aeq=histeq(A);

% Realza la imagen A (que debe ser una matriz de uint8)

c=and(a,b);
c=and(a>1,b~=0);

% AND lógica

c=or(a,b);
c=or(a>1,b~=0);

% OR lógico

Algunos ejemplos:
for i=2:f-2
for j=2:col-2
C(i,j)=abs([1 1 1]*A((i-1):(i+1),j-1)-[1 1 1]*A((i-1):(i+1),j+1));
end
end
for i=2:f-2
for j=2:col-2
D(i,j)=abs([1 1 1]*(A(i,(j-1):(j+1)))'-[1 1 1]*(A(i+1,(j-1):(j+1)))');
end
end
for i=2:f-2
for j=2:col-2
E(i,j)=max(C(i,j),D(i,j));
end
Comandos comunes de Matlab para el procesamiento de imágenes

6
Universidad Nacional de Quilmes – Ing. en Automatización y Control Industrial
Cátedra: Visión Artificial
Septiembre de 2005

end
N2=ones(5)/25;
for i=4:f-4
for j=4:col-4
Aux=N2.*A((i-2):(i+2),(j-2):(j+2));
Aux1=0;
for h=1:25
Aux1=Aux(h)+Aux1;
end
H(i,j)=Aux1;
end
end

Comandos comunes de Matlab para el procesamiento de imágenes

7

Más contenido relacionado

La actualidad más candente

Graficas en 2 d y 3d matlab
Graficas en 2 d y 3d matlabGraficas en 2 d y 3d matlab
Graficas en 2 d y 3d matlab
Juan Ete
 
Diseño algoritmosoo ciclos
Diseño algoritmosoo ciclosDiseño algoritmosoo ciclos
Diseño algoritmosoo ciclos
María Luisa Velasco
 
Matlab (1)
Matlab (1)Matlab (1)
Matlab (1)
numpad
 
funciones
funcionesfunciones
funciones
josephemn
 
TIPOS DE DATOS MATLAB
TIPOS DE DATOS MATLABTIPOS DE DATOS MATLAB
TIPOS DE DATOS MATLAB
Luis Jaramillo
 
Introduccion y operaciones basicas (matlab)
Introduccion y operaciones basicas (matlab)Introduccion y operaciones basicas (matlab)
Introduccion y operaciones basicas (matlab)
Gino Pannillo
 
Fi0708 ejercicios
Fi0708 ejerciciosFi0708 ejercicios
Fi0708 ejercicios
ford81
 
Operaciones matemáticas con arrays y aplicaciones
Operaciones matemáticas con arrays y aplicacionesOperaciones matemáticas con arrays y aplicaciones
Operaciones matemáticas con arrays y aplicaciones
melman00007
 
Pres arreglosmat animacion
Pres arreglosmat animacionPres arreglosmat animacion
Pres arreglosmat animacion
JLAntonio
 
Tipos de funnciones
Tipos de funncionesTipos de funnciones
Tipos de funnciones
marlonv969
 
Imagenes
ImagenesImagenes
Tutorial matlab
Tutorial matlabTutorial matlab
Tutorial matlab
Mocha Danny
 
Fundamentos de computación(ICM) en octave
Fundamentos de computación(ICM) en octaveFundamentos de computación(ICM) en octave
Fundamentos de computación(ICM) en octave
Gabriel Romero
 
Lenguaje de programacion c++ basico 4ta parte expresiones y funciones matemát...
Lenguaje de programacion c++ basico 4ta parte expresiones y funciones matemát...Lenguaje de programacion c++ basico 4ta parte expresiones y funciones matemát...
Lenguaje de programacion c++ basico 4ta parte expresiones y funciones matemát...
Dunkherz
 
Caso problema eje 3
Caso problema eje 3Caso problema eje 3
Caso problema eje 3
Jefferson Esquivel Hincapie
 
Silabo programación ii 2015-i
Silabo programación ii 2015-iSilabo programación ii 2015-i
Silabo programación ii 2015-i
nomegustaestascosas
 
9. estructuras de control parte ii
9. estructuras de control parte ii9. estructuras de control parte ii
9. estructuras de control parte ii
rcarrerah
 
Libreria graphics
Libreria graphicsLibreria graphics
Libreria graphics
Jonathan Gonzalez
 

La actualidad más candente (18)

Graficas en 2 d y 3d matlab
Graficas en 2 d y 3d matlabGraficas en 2 d y 3d matlab
Graficas en 2 d y 3d matlab
 
Diseño algoritmosoo ciclos
Diseño algoritmosoo ciclosDiseño algoritmosoo ciclos
Diseño algoritmosoo ciclos
 
Matlab (1)
Matlab (1)Matlab (1)
Matlab (1)
 
funciones
funcionesfunciones
funciones
 
TIPOS DE DATOS MATLAB
TIPOS DE DATOS MATLABTIPOS DE DATOS MATLAB
TIPOS DE DATOS MATLAB
 
Introduccion y operaciones basicas (matlab)
Introduccion y operaciones basicas (matlab)Introduccion y operaciones basicas (matlab)
Introduccion y operaciones basicas (matlab)
 
Fi0708 ejercicios
Fi0708 ejerciciosFi0708 ejercicios
Fi0708 ejercicios
 
Operaciones matemáticas con arrays y aplicaciones
Operaciones matemáticas con arrays y aplicacionesOperaciones matemáticas con arrays y aplicaciones
Operaciones matemáticas con arrays y aplicaciones
 
Pres arreglosmat animacion
Pres arreglosmat animacionPres arreglosmat animacion
Pres arreglosmat animacion
 
Tipos de funnciones
Tipos de funncionesTipos de funnciones
Tipos de funnciones
 
Imagenes
ImagenesImagenes
Imagenes
 
Tutorial matlab
Tutorial matlabTutorial matlab
Tutorial matlab
 
Fundamentos de computación(ICM) en octave
Fundamentos de computación(ICM) en octaveFundamentos de computación(ICM) en octave
Fundamentos de computación(ICM) en octave
 
Lenguaje de programacion c++ basico 4ta parte expresiones y funciones matemát...
Lenguaje de programacion c++ basico 4ta parte expresiones y funciones matemát...Lenguaje de programacion c++ basico 4ta parte expresiones y funciones matemát...
Lenguaje de programacion c++ basico 4ta parte expresiones y funciones matemát...
 
Caso problema eje 3
Caso problema eje 3Caso problema eje 3
Caso problema eje 3
 
Silabo programación ii 2015-i
Silabo programación ii 2015-iSilabo programación ii 2015-i
Silabo programación ii 2015-i
 
9. estructuras de control parte ii
9. estructuras de control parte ii9. estructuras de control parte ii
9. estructuras de control parte ii
 
Libreria graphics
Libreria graphicsLibreria graphics
Libreria graphics
 

Destacado

Sistema de comunicación
Sistema de comunicación Sistema de comunicación
Sistema de comunicación
Anabella Mariana Castro Ramos
 
Introduccion al Octave
Introduccion al OctaveIntroduccion al Octave
Introduccion al Octave
franpenabra
 
Comandos mat lab
Comandos mat labComandos mat lab
Comandos mat lab
jorge gar
 
Comunicación e información
Comunicación e informaciónComunicación e información
Comunicación e información
Ignacio Bugueno
 
Comunicación e información
Comunicación e informaciónComunicación e información
Comunicación e información
vladimirmaldonado64
 
Redes de comunicación de datos
Redes de comunicación de datosRedes de comunicación de datos
Redes de comunicación de datos
Miguel Mendieta
 

Destacado (6)

Sistema de comunicación
Sistema de comunicación Sistema de comunicación
Sistema de comunicación
 
Introduccion al Octave
Introduccion al OctaveIntroduccion al Octave
Introduccion al Octave
 
Comandos mat lab
Comandos mat labComandos mat lab
Comandos mat lab
 
Comunicación e información
Comunicación e informaciónComunicación e información
Comunicación e información
 
Comunicación e información
Comunicación e informaciónComunicación e información
Comunicación e información
 
Redes de comunicación de datos
Redes de comunicación de datosRedes de comunicación de datos
Redes de comunicación de datos
 

Similar a Archivos apuntes-comandos comunes de matlab para el procesamiento de imágen

Tema 3
Tema 3Tema 3
Tema 3
jcbenitezp
 
Electrónica: Tutorial de Matlab aplicado
Electrónica: Tutorial de Matlab aplicadoElectrónica: Tutorial de Matlab aplicado
Electrónica: Tutorial de Matlab aplicado
SANTIAGO PABLO ALBERTO
 
Trabajo matlab
Trabajo matlabTrabajo matlab
Trabajo matlab
Jesus Rodriguez
 
Manual matlab
Manual matlabManual matlab
Manual matlab
Jhonny Jach
 
Matlab1
Matlab1Matlab1
Matlab1
Oriel Mojica
 
Apuntesmatlab
ApuntesmatlabApuntesmatlab
Apuntesmatlab
ford81
 
Mat lab01
Mat lab01Mat lab01
Mat lab01
pierkross
 
Clase 7
Clase 7Clase 7
Clase 7
esvin Rey
 
Trabajo de computacion
Trabajo de computacionTrabajo de computacion
Trabajo de computacion
luis_xD
 
Matlab
MatlabMatlab
Matlab
luzya007
 
Clase 10
Clase 10Clase 10
Clase 10
esvin Rey
 
Matlab introducción-clase3
Matlab introducción-clase3Matlab introducción-clase3
Matlab introducción-clase3
Maggy Judith
 
Matlab scientific scilab_mathematics
Matlab scientific scilab_mathematicsMatlab scientific scilab_mathematics
Matlab scientific scilab_mathematics
Cristian Cegelski
 
Cursos de MATLAB
Cursos de MATLABCursos de MATLAB
Cursos de MATLAB
dwquezada
 
Matlab introducción
Matlab   introducciónMatlab   introducción
Matlab introducción
nomegustaestascosas
 
Matlab introducción
Matlab   introducciónMatlab   introducción
Matlab introducción
nomegustaestascosas
 
Matlab introducción
Matlab   introducciónMatlab   introducción
Matlab introducción
nomegustaestascosas
 
Curso de introduccion_al_matlab
Curso de introduccion_al_matlabCurso de introduccion_al_matlab
Curso de introduccion_al_matlab
CORPOELEC
 
Taller2 lab stats_matlab
Taller2 lab stats_matlabTaller2 lab stats_matlab
Taller2 lab stats_matlab
Nar Dy
 
Curso_de_introduccion_al_matlab.ppt
Curso_de_introduccion_al_matlab.pptCurso_de_introduccion_al_matlab.ppt
Curso_de_introduccion_al_matlab.ppt
angela80121
 

Similar a Archivos apuntes-comandos comunes de matlab para el procesamiento de imágen (20)

Tema 3
Tema 3Tema 3
Tema 3
 
Electrónica: Tutorial de Matlab aplicado
Electrónica: Tutorial de Matlab aplicadoElectrónica: Tutorial de Matlab aplicado
Electrónica: Tutorial de Matlab aplicado
 
Trabajo matlab
Trabajo matlabTrabajo matlab
Trabajo matlab
 
Manual matlab
Manual matlabManual matlab
Manual matlab
 
Matlab1
Matlab1Matlab1
Matlab1
 
Apuntesmatlab
ApuntesmatlabApuntesmatlab
Apuntesmatlab
 
Mat lab01
Mat lab01Mat lab01
Mat lab01
 
Clase 7
Clase 7Clase 7
Clase 7
 
Trabajo de computacion
Trabajo de computacionTrabajo de computacion
Trabajo de computacion
 
Matlab
MatlabMatlab
Matlab
 
Clase 10
Clase 10Clase 10
Clase 10
 
Matlab introducción-clase3
Matlab introducción-clase3Matlab introducción-clase3
Matlab introducción-clase3
 
Matlab scientific scilab_mathematics
Matlab scientific scilab_mathematicsMatlab scientific scilab_mathematics
Matlab scientific scilab_mathematics
 
Cursos de MATLAB
Cursos de MATLABCursos de MATLAB
Cursos de MATLAB
 
Matlab introducción
Matlab   introducciónMatlab   introducción
Matlab introducción
 
Matlab introducción
Matlab   introducciónMatlab   introducción
Matlab introducción
 
Matlab introducción
Matlab   introducciónMatlab   introducción
Matlab introducción
 
Curso de introduccion_al_matlab
Curso de introduccion_al_matlabCurso de introduccion_al_matlab
Curso de introduccion_al_matlab
 
Taller2 lab stats_matlab
Taller2 lab stats_matlabTaller2 lab stats_matlab
Taller2 lab stats_matlab
 
Curso_de_introduccion_al_matlab.ppt
Curso_de_introduccion_al_matlab.pptCurso_de_introduccion_al_matlab.ppt
Curso_de_introduccion_al_matlab.ppt
 

Último

Informació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdfInformació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdf
Festibity
 
Sitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajasSitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajas
paulroyal74
 
Presentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre bloggerPresentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre blogger
larapalaciosmonzon28
 
TIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololoTIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololo
KukiiSanchez
 
Manual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computoManual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computo
mantenimientocarbra6
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
sofiahuarancabellido
 
SISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsxSISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsx
tamarita881
 
Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
cbtechchihuahua
 
Second Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro TapiaSecond Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro Tapia
al050121024
 
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
AMADO SALVADOR
 
computacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADOcomputacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADO
YaniEscobar2
 
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
AMADO SALVADOR
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
evelinglilibethpeafi
 
HERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptxHERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptx
maralache30
 
Actividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdfActividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdf
NajwaNimri1
 
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdfInformació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Festibity
 
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
bendezuperezjimena
 
IA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticulturaIA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticultura
Miguel Rebollo
 
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANOREVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
gisellearanguren1
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
YashiraPaye
 

Último (20)

Informació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdfInformació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdf
 
Sitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajasSitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajas
 
Presentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre bloggerPresentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre blogger
 
TIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololoTIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololo
 
Manual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computoManual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computo
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
 
SISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsxSISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsx
 
Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
 
Second Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro TapiaSecond Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro Tapia
 
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
 
computacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADOcomputacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADO
 
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
 
HERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptxHERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptx
 
Actividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdfActividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdf
 
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdfInformació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
 
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
 
IA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticulturaIA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticultura
 
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANOREVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
 

Archivos apuntes-comandos comunes de matlab para el procesamiento de imágen

  • 1. Universidad Nacional de Quilmes – Ing. en Automatización y Control Industrial Cátedra: Visión Artificial Septiembre de 2005 Comandos de MatLab utilizados para el procesamiento de imágenes. Cargar imágenes en matrices: A=double(imread(NombreImagen,Formato)); Donde NombreImagen representa el nombre de la imagen con el path completo y Formato representa el formato de la imagen. La función double se utiliza para poder realizar operaciones con la matriz A que implican números decimales (hay ciertas operaciones que no se pueden hacer con variables del tipo uint8 como lo son los niveles de gris de las imágenes que utilizamos generalmente). El formato de imagen comúnmente utilizado es el tif . Ejemplo: A=double(imread('C:MATLAB6p5toolboximagesimdemoscircuit.tif','tif')); En el caso de imágenes en formato jpg, se debe hacer un paso más para obtener la imagen en escala de grises (debido a la forma en que se almacena la imagen jpg). Ejemplo: A=double(imread('C:MATLAB6p5toolboximagesimdemosfootball.jpg','jpg')); A=A(:,:,1); Visualizar imágenes a partir de una matriz: imshow(uint8(A)) Donde A es la matriz que representa la imagen y uint8 se utiliza para convertir los elementos de A en enteros de 8 bits (256 niveles de gris). Si la imagen ya está en formato uint8 no es necesario usar la función ‘uint8’. Visualizar más de una imagen en una misma ventana: subplot(2,2,1);imshow(uint8(A)) subplot(2,2,2);imshow(uint8(B)) subplot(2,2,3);imshow(uint8(C)) subplot(2,2,4);imshow(uint8(D)) En este caso, se visualiza un arreglo de imágenes de 2x2. Lo mismo se puede hacer para ver otro tipo de gráficos. Operaciones con matrices: u=[1 2 3 4]; u=[1;2;3;4]; % Crea un vector columna % Crea un vector fila Comandos comunes de Matlab para el procesamiento de imágenes 1
  • 2. Universidad Nacional de Quilmes – Ing. en Automatización y Control Industrial Cátedra: Visión Artificial Septiembre de 2005 A=[1 2 3;4 5 6]; % Crea una matriz de 2x3 con los elementos indicados A=ones(n,m); A=ones(n); % Crea una matriz de 1’s de nxm % Crea una matriz de 1’s de orden n [n,m]=size(A); % Almacena en n y m el número de filas y columnas, respectivamente, de A B=ones(size(A)); % Crea una matriz de 1’s del mismo tamaño de A A=zeros(n,m); A=zeros(n); % Crea una matriz de 0’s de nxm % Crea una matriz de 0’s de orden n B=zeros(size(A)); % Crea una matriz de 0’s del mismo tamaño de A C=A.’; % C es la transpuesta de A # Cuando se trabaja con matrices que no son reales se puede utilizar lo siguiente C=A’; % C es la transpuesta conjugada de A A=B+C; A=B-C; A=B.*C; % Suma de matrices % Resta de matrices % Multiplicación elemento a elemento de matrices B=(A>umbral)*k; % B será una matriz del mismo tamaño de A cuyos elementos serán 0 o k dependiendo si los elementos análogos de A son mayores que el umbral A(i,j) representa el elemento de la fila i y la columna j de la matriz A A(i:j,u:v) es la matriz formada por los elementos de la matriz A que se encuentran entre las filas i y j y las columnas u y v. Ejemplo: 1 2 3 4 5 6 7 8  A=  9 10 11 12   13 14 15 16 7 8  ⇒ A( 2 : 3,3 : 4) =   11 12 Algunas sentencias: Bucle for Generalmente se utiliza en la siguiente forma: for Variable=ValorInicial:Incremento:ValorFinal .... end Comandos comunes de Matlab para el procesamiento de imágenes 2
  • 3. Universidad Nacional de Quilmes – Ing. en Automatización y Control Industrial Cátedra: Visión Artificial Septiembre de 2005 Ejemplos: nU=10; u=zeros(1,nU); for i=2:2:nU u(i)=u(i-1)+i; end Luego, u=[0 2 0 4 0 6 0 8 0 10]. # Si el incremento es 1 no es necesario explicitarlo (for i=2:nU). Al igual que en la mayoría de los lenguajes de programación se pueden anidar los bucles for. Por ejemplo, for i=1:nA for j=1:mA ........... end end Para establecer los límites y el incremento de la variable que rige el bucle se pueden utilizar expresiones (siempre utilizando paréntesis, como se indica en el ejemplo): i=1; j=1; nU=10; u=zeros(1,nU); for i=(i+j):2:nU u(i)=u(i-1)+i; end Condicional if Su forma general es la que sigue: if Expresión .... elseif Expresión .... else .... end Donde Expresión representa la condición (o condiciones) que debe cumplirse para que se ejecuten las instrucciones que siguen a continuación. elseif se utiliza para evitar colocar varios if...end. Tanto elseif como else son opcionales. Para construir la Expresión se pueden utilizar los siguientes operadores: ==, <, >, <=, >=, o ~= (distinto). Ejemplos: Comandos comunes de Matlab para el procesamiento de imágenes 3
  • 4. Universidad Nacional de Quilmes – Ing. en Automatización y Control Industrial Cátedra: Visión Artificial Septiembre de 2005 if I == J A(I,J) = 2; elseif abs(I-J) == 1 A(I,J) = -1; else A(I,J) = 0; end También se pueden utilizar los operadores | o & que representan las operaciones or y and, respectivamente. Ejemplo: for i=1:nC for j=1:mC if (Ruido(i,j)<200 | Ruido(i,j)>255) Ruido(i,j)=0; end end end Funciones y comandos relacionados con las transformadas: Transformada discreta de Fourier en dos dimensiones Fa=fft2(A); Esta función mapea las frecuencias altas en el centro del espectro mientras que las frecuencias más bajas se encuentran en la periferia. Para colocar la frecuencia cero en el centro del espectro se debe utilizar, además, la función fftshift de la siguiente forma: Fa=fft2(A); Fa=fftshift(Fa); o Fa=fftshift(fft2(A)); Antitransformada discreta de Fourier en dos dimensiones A=ifft2(Fa); Debido a que Fa es una matriz compleja, al antitransformar pueden quedar ciertos residuos de números imaginarios que se deben a la precisión limitada del cálculo. Esto hace que la imagen resultante esté constituida por algunos píxeles con nivel de gris complejo, algo que es absurdo. Para evitar esto, se utiliza la función abs que devuelve el módulo de los elementos de una matriz. A=abs(ifft2(Fa)); Comandos comunes de Matlab para el procesamiento de imágenes 4
  • 5. Universidad Nacional de Quilmes – Ing. en Automatización y Control Industrial Cátedra: Visión Artificial Septiembre de 2005 Visualización de la transformada discreta de Fourier En realidad, lo que se grafica en tres dimensiones es la magnitud de la transformada discreta de Fourier. mesh(abs(Fa)) Como en la mayoría de los casos, se utiliza una escala logarítmica en el espacio de frecuencias. Esto se realiza de la siguiente forma: mesh(log(abs(Fa))) Filtro Digital: Y= filter2(B,X); La función filter2 filtra los datos en X con el núcleo dado por la matriz B. El resultado, Y, es calculado por medio de una correlación en dos dimensiones y es del mismo tamaño que X. Generalmente, se debe pasar a la función un parámetro adicional para que devuelva la parte central de la correlación: Y= filter2(B,X,’same’); Filtro de Mediana: B=medfilt2(A,[M N]); Realiza el filtro de mediana sobre la imagen B. M y N son el número de filas y el de columnas de la máscara Algunas funciones especiales: b=fix(a); % Toma la parte entera del número a c=round(a); % Redondea al entero más cercano B=min(B,100); % En este ejemplo, min devuelve el valor más bajo entre B y 100 255 45 178 B =  12 100 99     0 27 89    B=max(B,50); B = min(B,100) 100 45 100 ⇒ B =  12 100 99     0 27 89    % En este ejemplo, max devuelve el valor más alto entre B y 50 100 45 100 B =  12 100 99     0 27 89    B = max(B,100) 100 50 100 ⇒ B =  50 100 99     50 50 89    Comandos comunes de Matlab para el procesamiento de imágenes 5
  • 6. Universidad Nacional de Quilmes – Ing. en Automatización y Control Industrial Cátedra: Visión Artificial Septiembre de 2005 v=mean(u); b=mean(A); b=mean(mean(A)); % Calcula el promedio del vector u % Calcula los promedios de las columnas de A. B es un vector fila % Calcula el promedio de la matriz A v=sum(u); b=sum(A); b=sum(sum(A)); % Calcula la suma de los elementos del vector u % Calcula la suma de las columnas de A. B es un vector fila % Calcula la suma de los elementos de A [I,J]=find(A); % Devuelve los índices de las filas y columnas de los elementos distintos de cero de la matriz A pixval % Muestra las coordenadas y el nivel de gris del píxel señalado por el puntero del mouse cuando éste se ubica sobre la imagen en una figura H=hist(A); % Calcula el histograma de A. A debe estar en formato uint8, de lo contrario, se debe convertir: uint8(A) imhist(A) % Muestra en una figura el histograma de A (que debe ser un array uint8) Aeq=histeq(A); % Realza la imagen A (que debe ser una matriz de uint8) c=and(a,b); c=and(a>1,b~=0); % AND lógica c=or(a,b); c=or(a>1,b~=0); % OR lógico Algunos ejemplos: for i=2:f-2 for j=2:col-2 C(i,j)=abs([1 1 1]*A((i-1):(i+1),j-1)-[1 1 1]*A((i-1):(i+1),j+1)); end end for i=2:f-2 for j=2:col-2 D(i,j)=abs([1 1 1]*(A(i,(j-1):(j+1)))'-[1 1 1]*(A(i+1,(j-1):(j+1)))'); end end for i=2:f-2 for j=2:col-2 E(i,j)=max(C(i,j),D(i,j)); end Comandos comunes de Matlab para el procesamiento de imágenes 6
  • 7. Universidad Nacional de Quilmes – Ing. en Automatización y Control Industrial Cátedra: Visión Artificial Septiembre de 2005 end N2=ones(5)/25; for i=4:f-4 for j=4:col-4 Aux=N2.*A((i-2):(i+2),(j-2):(j+2)); Aux1=0; for h=1:25 Aux1=Aux(h)+Aux1; end H(i,j)=Aux1; end end Comandos comunes de Matlab para el procesamiento de imágenes 7