Está en la página 1de 26

# MANUAL DE

MATLAB
Contenido
INTRODUCCIÓN............................................................................................................................1
¿Qué es el procesamiento digital de imágenes?..........................................................................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

## MATLAB es el nombre abreviado de “MATriz LABoratory”. Es un programa para realizar

cálculos numéricos con vectores y matrices, y por tanto se puede trabajar también con
números escalares (tanto reales como complejos), con cadenas de caracteres y con otras
estructuras de información más complejas. Pero en este manual les enseñaremos los distintos
códigos que se utilizan en Matlab las cuales se utilizan para modificar o alterar imágenes las
cuales se realizaran el 14 practicas.

## Matlab es un lenguaje de alto rendimiento para cálculos técnicos, es al mismo tiempo

un entorno y un lenguaje de programación. Uno de sus puntos fuertes es que permite construir
nuestras propias herramientas reutilizables. Podemos crear fácilmente nuestras propias
funciones y programas especiales (conocidos como M-archivos) en código Matlab, los podemos
trabajar en clases particulares de problemas. Matlab, a parte del cálculo matricial y álgebra
lineal, también puede manejar polinomios, funciones, ecuaciones diferenciales ordinarias,
gráficos.

1
¿Qué es el procesamiento digital de imágenes?

## El procesamiento digital de imágenes es el conjunto de técnicas que se aplican a las imágenes

digitales con el objetivo de mejorar la calidad o facilitar la búsqueda de información.

## Es el conjunto de técnicas englobadas dentro del preprocesamiento de imágenes cuyo objetivo

fundamental es obtener, a partir de una imagen origen, otra final cuyo resultado sea más
adecuado para una aplicación específica mejorando ciertas características de la misma que
posibilite efectuar operaciones del procesado sobre ella.
Los principales objetivos que se persiguen con la aplicación de filtros son:

##  Suavizar la imagen: reducir la cantidad de variaciones de intensidad entre píxeles

vecinos.

 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.

##  Realzar bordes: destacar los bordes que se localizan en una imagen.

 Detectar bordes: detectar los píxeles donde se produce un cambio brusco en la función
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?

## MatLab es un programa interactivo para computación numérica y visualización de datos. Es

ampliamente usado por Ingenieros de Control en el análisis y diseño, posee además una
química, ingenierí a, finanzas y muchas otras aplicaciones. Está basado en un sofisticado
software de matrices para el análisis de sistemas de ecuaciones. Permite resolver complicados
problemas numéricos sin necesidad de escribir un programa. MATLAB es un entorno de
computación y desarrollo de aplicaciones totalmente integrado orientado para llevar a cabo
proyectos en donde se encuentren implicados elevados cálculos matemáticos y la visualización
gráfica de los mismos. MATLAB integra análisis numérico, cálculo matricial, proceso de señal y
visualización gráfica en un entorno completo donde los problemas y sus soluciones son
uso de la programación tradicional. El nombre de MATLAB proviene de la contracción de los
términos MATrix LABoratory y fue inicialmente concebido para proporcionar fácil acceso a las
librerías LINPACK y EISPACK, las cuales representan hoy en dia dos de las librerías más
importantes en computación y cálculo matricial. MATLAB es un sistema de trabajo interactivo
cuyo elemento básico de trabajo son las matrices. El programa permite realizar de un modo
rápido la resolución numérica de problemas en un tiempo mucho menor que si se quisiesen
resolver estos mismos problemas con lenguajes de programación tradicionales como pueden
ser los lenguajes Fortran, Basic o C. MATLAB goza en la actualidad de un alto nivel de
implantación en escuelas y centros universitarios, así como en departamentos de investigación
y desarrollo de muchas compañías industriales nacionales e internacionales. En entornos
universitarios, por ejemplo, MATLAB se ha convertido en una herramienta básica, tanto para
los profesionales e investigadores de centros docentes, como una importante herramienta para
la impartición de cursos universitarios, tales como sistemas e ingenieria de control, álgebra
lineal, proceso digital de imagen, señal, etc. En el mundo industrial, MATLAB está siendo
utilizado como herramienta de investigación para la resolución de complejos problemas
planteados en la realización y aplicación de modelos matemáticos en ingeniería. Los usos más
característicos de la herramienta los encontramos en áreas de computación y cálculo numérico
temporales para el proceso digital de señal.

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

## ycbcrmap = rgb2ycbcr(rgbmap)convierte los valores de espacio de color RGB en rgbmapel

espacio de color YCbCr. ycbcrmapes una mmatriz -por-3 que contiene la luminancia YCbCr ( Y )
y crominancia ( Cb y Cr ) valores de color como columnas. Cada fila de ycbcrmaprepresenta el
color equivalente a la fila correspondiente en rgbmap.

Uint8

## Convertir a 8 bits entero sin signo.

intArray = uint8(array)convierte los elementos de una matriz en enteros sin signo de 8 bits (1
byte) de la clase .uint8.

## A = imread(filename)lee la imagen desde el archivo especificado por filename, inferir el

formato del archivo de su contenido. Si filenamees un archivo de imágenes múltiples, a
continuación, lee la primera imagen en el archivo.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

## I = rgb2gray(RGB)convierte la imagen de color verdadero RGBa la imagen de intensidad en

escala de grises I. La función convierte las imágenes RGB a escala de grises mediante la
eliminación de la información de tono y saturación, manteniendo la luminancia. Si tiene
Parallel Computing Toolbox ™ instalado, puede realizar esta conversión en una
GPU.rgb2grayrgb2gray.
Subplot
Crear ejes en posiciones de baldosas.

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
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
imfilter
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
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.
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.
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
bbox
bbox = mapbbox(R,height,width)calcula el cuadro delimitador de 2 por 2 de una imagen
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 este programa se da información o características de la imagen a utilizar en la primera línea

de código se ingresa la dirección de la imagen y se muestra la imagen.
)
% Mostrar imagen original
image(f)

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)
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.

## En la primera línea de código seda la dirección de la imagen utilizando.

.png');
% Mostrar imagen original
image(imagen);

## En estas líneas de código se muestra la imagen y se posteriormente se modifica utilizando los

siguientes códigos.
ImagenGris=rgb2gray(imagen);
imshow(ImagenGris);

10
PROGRAMA 3.

## Es esta línea de código se ingresa la dirección de la imagen a modificar y se muestra .

magenRGB.JPG');
% Mostrar imagen original
figure (1)
imshow(imagenRGB)

## En esta cuarta línea de código se le da el nuevo nombre a la imagen a modificada y con el

código (rgb2gray) se modifica a grises y ese visualiza.

imagenGRAY=rgb2gray(imagenRGB);
figure (2)
imshow(imagenGRAY)

11
PROGRAMA 4.

## Es esta línea de código se ingresa la dirección de la imagen a modificar y se muestra .

magenRGB.JPG');
% Mostrar imagen original
figure(1)
imshow(imagenRGB)

## En esta cuarta línea de código se le da el nuevo nombre a la imagen modificada y con el

código(rgb2ycbcr) se modifica a color violeta y se visualiza.

originalimagenYUV=rgb2ycbcr(imagenRGB);
figure(2)
imshow(imagenYUV)

12
PROGRAMA 5

## En este programa se modifica la imagen a color gris exacto.

%Formula:
%Gris= 29.9%_Rojo + 58,7%_Verde + 11.4%_Azul

## En esta línea de código se ingresa la dirección de la imagen a modificar y se visualiza.

.JPG');
% Mostrar imagen original
figure(1)
imshow(i)

## En esta cuarta línea de código se le da el nuevo nombre a la imagen modificada y con el

código(uint8) se modifica a color gris, pero se agrega el porcentaje de color (rojo, verde, azul)
para obtener un gris perfecto que se obtiene de la fórmula que se encuentra en la parte
superior del código y se visualiza la imagen modificada.

imagenBW=uint8(i(:,:,1)*0.299+i(:,:,2)*0.587+i(:,:,3)*0.114);
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;
PG');
% Mostrar imagen original
figure(1);
subplot(2,3,1);
imshow(im);title('1. Imagen RGB original');

gris=rgb2gray(im);
subplot(2,3,2);
imshow(gris);
title('2. Trasnformacion a escala de grises');

## % En este codigo esta el monbre de la imagen (RGB) y los colores RGB

imR=double(im(:,:,1));
imG=double(im(:,:,2));
imB=double(im(:,:,3));
subplot(2,3,3);
imshow(imR,gray);title('3. Visualizacion de Banda Roja original');

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

## En este programa se muestra distintas imágenes con distintas modificaciones donde lo

principal se modifica el contorno de la imagen, así como se muestra en las imágenes.

## En estas líneas de código se ingresa la dirección de la imagen a modificar y se muestra.

');
% Mostrar imagen original
imshow(E2);

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');

## En estas líneas de código se muestra las distintas ventanas modificadas.

figure,imshow(B1)
figure,imshow(B2)
figure,imshow(B3)

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.
%de ruido sal y pimienta.

## Se ingresa la dirección la imagen.

png');

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.

## En esta línea se agrega la dirección de la imagen .

');
% Mostrar imagen original

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
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
%Aplica los valores de intensidad de la imagen y se agrega la
dirección de la imagen.

19
png');
% Mostrar imagen original
figure(1)
imshow(foto3);
title('Foto uno');

% Mostrar imagen original
figure(2)
imshow(a1);
title('Foto dos');

figure(3) % se crea la ventana Mostrar imagen original
imshow(a2);% se muestra la imagen con los efectos aplicados
title('foto tres'); % se muestra un titulo en la parte superior

PROGRAMA 12

En este programa se agrega una herramienta para poder recortar la imagen utilizando el
comando (imcrop) como se muestra en la imagen.

## Se agrega la dirección de la imagen y se muestra.

20
');
% 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.

## Se agrega la dirección de la imagen y se muestra.

21
png');
% Mostrar imagen
figure(1)
imshow(imaBW)
%Captura una region
h=impoly; %ejecucion
%Crear la mascara y se visualiza.
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

## %Detectar Caras y se agrega la dirección de la imagen.

s.jpg');
bbox = step(detector_cara, Im_RGB);

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.

## I_faces = step(shapeInserter, Im_RGB, int32(bbox));

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