Documente Academic
Documente Profesional
Documente Cultură
MATLAB
Contenido
INTRODUCCIÓN............................................................................................................................1
¿Qué es el procesamiento digital de imágenes?..........................................................................2
Proceso de Filtrado.......................................................................................................................2
¿QUÉ ES MATLAB?........................................................................................................................3
COLORES BASICOS........................................................................................................................4
CÓDIGOS DE MATLAB...................................................................................................................5
PROGRAMA 1...............................................................................................................................9
PROGRAMA 2.............................................................................................................................10
PROGRAMA 3.............................................................................................................................11
PROGRAMA 4.............................................................................................................................11
PROGRAMA 5.............................................................................................................................12
PROGRAMA 6.............................................................................................................................14
PROGRAMA 7.............................................................................................................................15
PROGRAMA 8.............................................................................................................................16
PROGRAMA 9.............................................................................................................................17
PROGRAMA 10...........................................................................................................................18
PROGRAMA 11...........................................................................................................................19
PROGRAMA 12...........................................................................................................................20
PROGRAMA 13...........................................................................................................................21
PROGRAMA 14...........................................................................................................................22
CONCLUCION..............................................................................................................................23
INTRODUCCIÓN
1
¿Qué es el procesamiento digital de imágenes?
Proceso de Filtrado
Eliminar ruido: eliminar aquellos píxeles cuyo nivel de intensidad es muy diferente al
de sus vecinos y cuyo origen puede estar tanto en el proceso de adquisición de la imagen
como en el de transmisión.
Detectar bordes: detectar los píxeles donde se produce un cambio brusco en la función
intensidad.
Por tanto, se consideran los filtros como operaciones que se aplican a los píxeles de una
imagen digital para optimizarla, enfatizar cierta información o conseguir un efecto especial en
ella.
El proceso de filtrado puede llevarse a cabo sobre los dominios de frecuencia y/o espacio.
2
¿QUÉ ES MATLAB?
3
COLORES BASICOS
RGB
RGB (sigla en inglés de red, green, blue, en español «rojo, verde y azul») es la composición del
color en términos de la intensidad de los colores primarios de la luz.
YUV
YUV es un espacio de color utilizado normalmente como parte de una tubería de imagen en
color . Codifica una imagen en color o vídeo teniendo la percepción humana en cuenta, lo que
permite la reducción de ancho de banda para crominancia componentes, con lo que
típicamente permite a los errores de transmisión o artefactos de compresión a ser
enmascarado de manera más eficiente por la percepción humana de utilizar un RGB-
representación "directa". Otros espacios de color tienen propiedades similares, y la razón
principal para implementar o investigar las propiedades de Y'UV sería para la interconexión con
analógico o televisión digital o equipo fotográfico que se ajusta a ciertas normas Y'UV.
YCBCR
YCbCr, también conocido como Y'CbCr, Y Pb/Cb Pr/Cr, YCBCR o Y'CBCR es una familia
de espacios de color usada en sistemas de vídeo y fotografía digital. Y y Y' representan la
componente de luma y las señales CB y CR son los componentes de crominancia diferencia de
azul y diferencia de rojo, respectivamente. Y' se diferencia de Y en que es la señal de luma
codificada de manera no lineal basada en las señales primarias RGB con corrección gamma.
Y'CBCR no es un espacio de color absoluto, sino una forma de codificar información RGB. El
color que se muestra depende de la combinación de colores primario RGB usados para mostrar
la señal. Por lo tanto, un valor expresado como Y'CBCR es predecible solo si se usa la
cromaticidad de los colores del estándar RGB.
4
CÓDIGOS DE MATLAB
Rgb2ycbcr
Uint8
intArray = uint8(array)convierte los elementos de una matriz en enteros sin signo de 8 bits (1
byte) de la clase .uint8.
Imread
Imshow
Mostrar imagen.
imshow(I)Muestra la imagen Ien una figura, donde Ies una escala de grises, RGB (color
verdadero), o la imagen binaria. Para las imágenes binarias, muestra píxeles con el valor (cero)
como y negro como blanco. optimiza figura, ejes, y las propiedades de objeto de imagen para
visualización de imágenes.imshow01imshow.
rgb2gray
5
ubplot(m,n,p)divide la cifra actual en un m-by- nrejilla y crea ejes en la posición especificada
por p. MATLAB ® números subparcelas posiciones por fila. La primera trama secundaria es la
primera columna de la primera fila, la segunda trama secundaria es la segunda columna de la
primera fila, y así sucesivamente. Si existen ejes en la posición especificada, entonces este
comando hace que los ejes de los ejes actuales.
double
Convertir a doble precisión.
double(x)devuelve el doble valor -Precisión para X. Si Xya es un doble conjunto -Precisión, no
tiene ningún efecto double.
colorbar
Barra de colores que muestra la gama de colores.
colorbarmuestra una vertical de barra de colores a la derecha de los ejes o gráfico devueltos
por el gcacomando Colorbars mostrar el mapa de colores actual e indican la asignación de
valores de datos en el mapa de colores.
Edge
Descripción.
E = edge(obj,X,Y)devuelve la clasificación borde para objcon los datos Xy la clasificación Y.
E = edge(obj,X,Y,Name,Value)calcula el borde con opciones adicionales especificados por uno o
más Name,Valueargumentos par.
imnoise
Añadir ruido a la imagen.
J = imnoise(I,type)agrega el ruido de un tipo dado a la imagen de intensidad I. typeespecifica
cualquiera de los siguientes tipos de ruido. Tenga en cuenta que ciertos tipos de ruido de
apoyo parámetros adicionales.
imfilter
ND filtrado de imágenes multidimensionales.
B = imfilter(A,h)filtra la matriz multidimensional Acon el filtro multidimensional h. La
matriz Apuede ser logicalo una matriz numérica nonsparse de cualquier clase y dimensión. El
resultado Btiene el mismo tamaño y clase A.
imfiltercalcula cada elemento de la salida, Butilizando de coma flotante de doble
precisión. Si Aes un número entero o una matriz lógica, trunca elementos de salida que
exceden el rango del tipo dado, y redondea los valores fraccionarios.imfilter.
fspecial
Crear filtro 2-D predefinido.
h = fspecial(type)crea un filtro de dos dimensiones hde la especificada type. devuelve como un
núcleo de correlación, que es la forma adecuada para su uso con . puede tener cualquiera de
los siguientes valores:fspecialhimfiltertype.
whos
variables de lista de espacio de trabajo, con tamaños y tipos.
6
whos listas en orden alfabético los nombres, tamaños y tipos de todas las variables en el
espacio de trabajo activo en ese momento.
imagesc
La imagen en pantalla con colores escaladas.
imagesc(C)muestra los datos en la matriz Ccomo una imagen que utiliza la gama completa de
colores en el mapa de colores. Cada elemento de Cespecificar el color para 1 píxel de la
imagen. La imagen resultante es un m-by- ncuadrícula de píxeles donde mes el número de
columnas y nes el número de filas en C. Los índices de fila y columna de los elementos
determinan los centros de los píxeles correspondientes.
colormap
Ver y establecer actual mapa de colores.
colormap nameestablece el mapa de colores de la cifra actual a la incorporada en el mapa de
color especificado por name. El nuevo mapa de colores utiliza el mismo número de colores que
el actual mapa de colores . La cifra mapa de colores afecta a todos los ejes en la figura, a menos
que establezca una ejes mapa de colorespor separado.
axis
Conjunto de eje límites y relaciones de aspecto.
axis(limits)especifica los límites de los ejes actuales. Especificar los límites como vector de
cuatro, seis u ocho elementos.
title
Añadir título.
title(txt) agrega la especificada título a los ejes o carta devueltos por el gcacomando. Volver a
emitir el comando hace que el nuevo título para reemplazar el antiguo título .title.
imadjust
Ajuste los valores de intensidad de la imagen o mapa de colores.
J = imadjust(I)mapas de los valores de intensidad de imagen en escala de grises en Ia nuevos
valores en Jtal que 1% de los datos se satura a intensidades bajas y altas de I. Esto aumenta el
contraste de la imagen de salida J. Esta sintaxis es equivalente a .imadjust(I,stretchlim(I)).
imcrop
Delimitar imagen.
I2 = imcropcrea una herramienta de recorte de imágenes interactivo asociado a la imagen que
se muestra en la figura actual, calificado como la imagen de destino. La herramienta Recortar
imagen es un rectángulo móvil, de tamaño variable que se puede colocar sobre la imagen y
realizar la operación de recorte de forma interactiva utilizando el ratón. Para obtener más
información acerca del uso de la herramienta Recortar Imagen, consulte la conducta
interactiva . devuelve la imagen recortada, . Con esta sintaxis y las otras sintaxis interactivas, los
bloques de la herramienta de recorte de imagen MATLAB ® línea de comandos hasta que se
complete la operación.imcropI2.
7
impoly
Crear arrastrable polígono, de tamaño variable.
h = impolycomienza la colocación interactiva de un polígono en los ejes actuales. La función
devuelve h, un identificador de un objeto. El polígono tiene un menú contextual asociada con
el que controla los aspectos de su apariencia y comportamiento que ver el comportamiento
interactivo . Haga clic derecho en el polígono para acceder a este menú contextual.impoly.
createMask
Se puede utilizar el método de la clase base para crear una máscara binaria para cualquier tipo
de objeto retorno de la inversión o . El método devuelve una imagen binaria del mismo
tamaño de la imagen de entrada como, que contiene 1s dentro de la ROI y 0s en todas
partes.createMaskimroiimpointimlineimrectimellipseimpolyimfreehandcreateMask.
bbox
Calcular cuadro delimitador de la imagen georreferenciada o cuadrícula de datos.
bbox = mapbbox(R,height,width)calcula el cuadro delimitador de 2 por 2 de una imagen
georeferenciada o conjunto de datos cuadriculada regular. Res o bien una matriz de referencia
3-por-2 que define una transformación afín de 2 dimensiones de pixel intrínseca coordenadas a
las coordenadas del mapa, o un map.rasterref.MapCellsReferenceobjeto. (Si está utilizando un
objeto de referencia de la trama, se puede calcular el cuadro de límite de las propiedades de
límite de objeto del objeto en lugar de utilizar esta función.) heightY widthson las dimensiones
de imagen. delimita los bordes exteriores de la imagen en coordenadas del mapa:bbox.
step
Paso gráfico de la respuesta de sistema dinámico; paso de datos de respuesta.
step calcula el paso de respuesta de un sistema dinámico. Para el caso de espacio de estado, se
supone estado inicial cero. Cuando se invoca sin argumentos de salida, esta función traza
el paso de la respuesta en la pantalla.
shapeInserter
Dibujar rectángulos, líneas, polígonos, círculos o en una imagen.
El objeto puede dibujar múltiples rectángulos, líneas, polígonos, círculos o en una imagen RGB
de color verdadero de escala de grises 2-D o. La imagen de salida se pueden visualizar o
guardar en un archivo.ShapeInserter.
8
PROGRAMA 1
En esta línea de código se muestra la información de la imagen como del ancho y alto y se
visualiza.
% informacion de imagen
[M,N]=size(f)
%f=imread
whos f
9
PROGRAMA 2.
En este programa se modifica la imagen original sustituyendo al color original, por los colores
rojo y azul donde el color rojo sustituye al blanco de la imagen origina y el color azul al color
negro de las líneas de la silueta de la imagen.
10
PROGRAMA 3.
imagenGRAY=rgb2gray(imagenRGB);
% Mostrar imagen modificada
figure (2)
imshow(imagenGRAY)
11
PROGRAMA 4.
originalimagenYUV=rgb2ycbcr(imagenRGB);
% Mostrar imagen modificada
figure(2)
imshow(imagenYUV)
12
PROGRAMA 5
imagenBW=uint8(i(:,:,1)*0.299+i(:,:,2)*0.587+i(:,:,3)*0.114);
% Mostrar imagen modificada
figure(2)
imshow(imagenBW);
13
PROGRAMA 6
En este programa se modifica una imagen a escalas a grises donde se muestra en una sola
pantalla las imágenes modificadas, la original, las dos modificadas a escalas a grises.
En esta línea de código se ingresa la dirección de la imagen original y se visualiza con el código
subplot se ingresa la posición de la imagen.
clear; home;
im=imread('C:\Users\guadalupedejesus\Desktop\trabajosdematlab\imagen.J
PG');
% Mostrar imagen original
figure(1);
subplot(2,3,1);
imshow(im);title('1. Imagen RGB original');
gris=rgb2gray(im);
subplot(2,3,2);
% Mostrar imagen modificada
imshow(gris);
title('2. Trasnformacion a escala de grises');
14
PROGRAMA 7
En este programa simplemente se muestra una barra de colores desde el color azul hasta el
color rojo como se muestra en la imagen .
C = [0 2 4 6; 8 10 12 14; 16 18 20 22];
im = imagesc(C);
% Muestra la Barra de colores
colorbar
En la barra de la derecha se muestra los todos los colores que aparece en la tabla cada número
que aparece en la barra corresponde a un color de la tabla como el 0 al color azul rey el 8 a un
azul más suave y el 22 color rojo etc.
15
PROGRAMA 8
16
En esta línea de código se abre cada una de las imágenes y se declara la modificación que se le
realizara como ejemplo (sobel) este es un tipo de modificación a la imagen.
% Funcion Edge: B=edge(E2);%imshow(B);
B1=edge(E2,'sobel');
B2=edge(E2,'prewitt');
B3=edge(E2,'canny');
PROGRAMA 9
En este programa se modifica la imagen agregándole ruido o pequeños puntitos negros y que
sea borrosa como se muestra en las imágenes.
%Añadir ruido a una imagen:Añade un 20%
%de ruido sal y pimienta.
17
se muestra las imágenes y se agregan las modificaciones a las imágenes como (salt & pepper) y
el porcentaje que se la agregara.
m1=fspecial('average',3);
g=imnoise(foto5, 'salt & pepper',0.2);
f_media=imfilter(g,m1, 'replicate'); (g);
figure(1)
imshow(g);
figure(2)
imshow(f_media);
PROGRAMA 10
En este programa se hace más pequeño la imagen original y para eso utilizas las medidas ala
que la quieres hacer más pequeño.
18
whos f1
figure,imshow(f1)
caralena=f1(252:384,300:400);
% Mostrar imagen a escala
figure,imagesc(caralena)
colormap(gray)
axis image % Establece la relación de escala entre ejes
%para que los pixeles sean cuadrados
title('cara')
PROGRAMA 11
En este programa se muestra tres ventanas donde una invierte los colores de la imagen
original, y la otra ventana muestra la eliminación del contorno de la imagen y se elimina la
calidad de la imagen.
%Aplica los valores de intensidad de la imagen y se agrega la
dirección de la imagen.
19
foto3=imread('C:\Users\guadalupedejesus\Desktop\trabajosdematlab\foto.
png');
% Mostrar imagen original
figure(1)
imshow(foto3);
title('Foto uno');
PROGRAMA 12
En este programa se agrega una herramienta para poder recortar la imagen utilizando el
comando (imcrop) como se muestra en la imagen.
20
I3=imread('C:\Users\guadalupedejesus\Desktop\trabajosdematlab\foto.png
');
% Mostrar imagen
figure(1)
% En esta linea se agrega el comando para poder recortar la imagen
g = imcrop(I3);
imshow(g)
PROGRAMA 13
En este programa se crea una herramienta donde te permite obtener una parte de la imagen
con el comando (impoly) como se muestra en la imagen.
21
imaBW=imread('C:\Users\guadalupedejesus\Desktop\trabajosdematlab\foto.
png');
% Mostrar imagen
figure(1)
imshow(imaBW)
%Captura una region
h=impoly; %ejecucion
%Crear la mascara y se visualiza.
BW1=createMask(h);
imshow(BW1);
whos BW1
PROGRAMA 14
En este programa sirve para detectar las caras de las personas como se muestra en la imagen.
22
%Default: Encontrar caras
detector_cara = vision.CascadeObjectDetector('EyePairBig');
%Zona detectada
shapeInserter=vision.ShapeInserter('BorderColor','Custom','CustomBorde
rColor',[255 255 0]);
En esta línea de código se muestran las caras detectadas se visualiza en la una Ventana.
CONCLUCION
MATLAB Es un programa para realizar cálculos numéricos con vectores y matrices, y por
tanto se puede trabajar también con imágenes las cuales las podemos modificar y alterar
utilizando distintos comandos que nos proporciona Matlab así como se mostraron en los
23
trabajos realizados en este manual las cuales las distintas imágenes utilizadas fueron alteradas
por ejemplo agregando ruido, modificando su entorno. pero también podemos trabajar con
números escalares (tanto reales como complejos), con cadenas de caracteres, tablas de colores
y con otras estructuras de información más complejas.
24