Sei sulla pagina 1di 41

REALIZAR DETECCIN DE BORDES, BINARIZACIN, FILTRADO Y

RECONSTRUCCIN MORFOLGICA
(Septiembre 2017)
Abstract x In the next work we will see the digital como los escneres y las cmaras
results in the processing of grayscale images and the
digitales.
different commands that exist to establish their
operation in the image processing
II. OBJETIVOS
ndex Terms RGB, HSV, Pixel, histograma,
Resolucin, imagen, aulas virtuales, sylabus, agenda
Objetivos generales
del curso.
Conocer utilizar y realizar los diferentes
anlisis de imgenes que permiten tener una
I. INTRODUCCIN cierta informacin que ayude a un proceso de
investigacin.

E
n el siguiente trabajo veremos los Objetivos Especficos
resultados en el procesamiento de una
Creacin de una nueva Interfaz.
imgenes en escala de grises y los
Permite la Creacin de un nuevo
diferentes comandos que hay para establecer
su funcionamiento dentro del procesamiento sistema de visualizacin de las
imgenes y seguimiento de s u
de imgenes.
tratamiento.
El presente trabajo pretende dar respuesta a
las diez (10) preguntas propuestas en la gua Integracin de la funcin de filtrado,
de actividades y continuar trabajando en la realizada en proyectos anteriores, en
imagen que se eligi para leer en software el nuevo entorno.
Matlab
El reconocimiento y la
La mayora de las tcnicas de umbralizacin implementacin de una funcin
estn basadas en la informacin estadstica mejorada de clasificacin.
que brinda el histograma unidimensional,
sobre todo en aquellas imgenes donde los Creacin e implementacin de
objetos tienen una superficie o textura funciones para el clculo de la
homognea y el fondo es ms o menos fiabilidad de la clasificacin
uniforme. obtenida.

Posibilidad de realizacin de una


El tratamiento digital de las imgenes batera de pruebas
contempla el procesamiento y anlisis, donde
el tratamiento est referido a la realizacin de Proporcionar una serie de resultados
transformaciones, restauraciones y que permitan tener con certeza una
mejoramiento de las imgenes. Las imgenes serie de anlisis referentes a un
digitales se pueden obtener por medio de determinado tema y de esta forma
dispositivos de entrada conversin analgica- clasificar la informacin disponible y
todo esto con la ayuda del nuestro
herramienta de software matlab para
programacin es una de las ms probabilidad y/o la correlacin entre los
apropiada, debido fundamentalmente, diferentes pxeles. Globales: mtodos cuyo
a que es un entorno suficientemente valor del umbral es esttico.
Locales: mtodos que adaptan el valor del
extendido y una de las principales
umbral, de forma manual o automtica, a
ventajas es una gran eficacia cada pxel dependiendo de las caractersticas
realizando clculos matemticos locales de la imagen segmentada.
importantes, que, al fin y al cabo, es
una parte muy importante de nuestro b. Cul es la diferencia entre
programa. umbralizacin global y local y su
implementacin en Matlab?
III. RESUMEN PROYECTO
El valor umbral en un mtodo es esttico y en
Investigacin de las siguientes preguntas
el otro el valor varia por las caractersticas de
cada pixel.
a. Qu es moralizacin o binarizacin?
c. Qu es umbral de Otsu?
Binarizacin: es una tcnica que consiste en
la realizacin de un barrido en la matriz de la Ideado por Otsu (1979), este procedimiento
imagen digital, por medio de bucles o no paramtrico selecciona el umbral ptimo
recursividad, con el fin de que el proceso maximizando la varianza entre clases
produzca la reduccin de la escala de grises a mediante una bsqueda exhaustiva. La
dos nicos valores. Negro (= 0) y blanco (= varianza entre clases se define como una
255), o lo que es lo mismo, un sistema binario suma ponderada de las varianzas. El mtodo
de ausencia y presencia de color 0-1. La Otsu no precisa informacin previa de la
comparacin de cada pxel de la imagen viene imagen antes de su procesamiento, ni
determinada por el umbral de sensibilidad supervisin humana para el clculo de los
(valor T = Threshold). Por ejemplo, los umbrales
valores que sean mayores que el umbral
toman un valor 255 (blanco) y los menores 0
(negro) (fig. 4 y 5). Sezgin & Sankur (2004),
en base a las particularidades entre algoritmos
categorizan los mtodos de umbralizacin en
seis grupos.
Histograma: mtodos basados en el anlisis
de los picos mximos y mnimos de las Probabilidad de ocurrencia del nivel de gris de una
imagen segn Otsu. i = frecuencia de repeticin del
curvas del histograma del suavizado de la nivel de gris.
imagen. Clustering: mtodos basados en
discernir como las muestras de los niveles de d. Qu es reduccin de ruido en una
gris se agrupan o alternativamente se imagen binaria?
modelan como una mezcla de dos gaussianas.
Entropa: mtodos basados en el anlisis de
los resultados de la aplicacin de algoritmos e. Qu es filtro mediana y cmo se
que utilizan la entropa de las regiones frontal implementa en Matlab?
y de fondo, la entropa cruzada entre la
imagen original y binarizada. Es un filtro usado para eliminar ruido
Similitud: mtodos basados en la bsqueda impulsivo, con la caracterstica de conservar
de una similitud entre las escalas de grises, los bordes y detalles de la imagen.
como la tonalidad difusa, los bordes de la
imagen, etc. Espaciales: mtodos analticos h=medfilt2(b,[3,3]);
que usan el orden de distribucin, la figure (7);
imshow (b); Aunque en un principio se aplicar sobre las
figure (8); imgenes binarizadas, luego se extender a
imshow (h); las imgenes en niveles de grises. Este uso a
niveles de grises permitir vislumbrar que el
f. Para qu sirven los filtros de suavizado procesamiento morfolgico tambin se puede
en una imagen? utilizar como tcnica de procesado de la
seal.
Para reducir las variaciones de intensidad Actualmente se puede encontrar aplicaciones
entre pxeles vecinos. en la restauracin de imgenes, en la
Mediante el cual se relaciona un pxel con los deteccin de bordes, en el anlisis de texturas,
que tiene a su alrededor, de forma a eliminar en el aumento del contraste y hasta en la
los pxeles abruptos afectados por un fuerte compresin de imgenes.
ruido y cuyo valor suele destacar muy por
encima de los otros.
j. Qu tipos de funciones morfolgicas
g. Cul es la diferencia entre ruido existen y cmo funcionan?
gaussiano y ruido de sal y pimienta?
Dilatacin:
El valor final del pxel es el real ms una Dada una imagen A, y un elemento
cierta cantidad de error. estructural B, (ambos imgenes binarias con
fondo blanco), la dilatacin de A por B se
El valor que toma el pxel no tiene relacin define como:
con el valor real sino que toma valores muy
altos o muy bajos Toma el valor mximo
(sal) o el mnimo (pimienta).
Tengamos en cuenta que, para la interseccin
slo consideramos los pxeles negros de A y
B. El primer elemento de la dilatacin, A,
h. Explique diferentes tcnicas de
est asociado con la imagen que se est
segmentacin de imgenes
procesando y el segundo recibe el nombre de
elemento estructural, la forma que acta sobre
La segmentacin subdivide una imagen en
A en la dilatacin para producir A B.
sus partes constituyentes u objetos, con el fin
de separar las partes de inters del resto de la Erosin: Dada una imagen A, y un elemento
imagen, por lo tanto el nivel al que se lleva a estructural B, (ambos imgenes binarias con
cabo esta subdivisin depende del problema a fondo blanco), la erosin de una imagen, A,
resolver. En el proceso de detectar las partes por un elemento estructural, B, es el conjunto
en una imagen se identifican bordes de la de todos los elementos x para los cuales B
imagen, o se segmenta esta en regiones, trasladado por x est contenido en A:
lneas o curvas, etc.
Otra definicin considera a la segmentacin
como la clasificacin de los puntos de la
imagen (pixels), indicando las clases a la que
pertenecen los diferentes pixeles. Tengamos en cuenta que, para la condicin
Bx A, slo consideramos los pxeles negros
i. Qu es reconstruccin morfolgica? de A y B.
La erosin es la operacin morfolgica dual
Es una tcnica de procesamiento no lineal de de la dilatacin.
la seal, caracterizada en realzar la geometra La erosin se concibe usualmente como una
y forma de los objetos. Su fundamento reduccin de la imagen original.
matemtico se basa en la teora de conjunto.
IMPLEMENTACION DE CODIGOS

ERICK ALEXANDER ROMERO G.

Imagen Ejemplo/ Umbral 0.6 / numpixeles


100

Imagen 1/ Umbral 0.8 / numpixeles 5


Imagen 2/ Umbral 0.7 / numpixeles 10
Imagen 3/ Umbral 0.7 / numpixeles 200
EXPLICACION DE LAS LINEAS DE
COMANDO

Imagen 4/ Umbral 0.85 / numpixeles 200 Lee el archivo de la carpeta donde se


est extrayendo la informacin.
Pasa la imagen a doble precisin,
reescalando los datos si es necesario.
Si la imagen de entrada es de doble
precisin, la imagen de salida ser
igual.
Nos deja ver el espacio donde se va a
visualizar la imagen de salida.
Define el valor mximo donde el
proceso de segmentacin va realizar
la separacin de pixeles dentro de la
imagen de salida.
Luego la digitalizacin de la imagen
de salida en blanco y negro
Y el nmero de pixeles con el cual se
va a hacer el anlisis para la
segmentacin binaria.
Visualizacin del lugar de la salida
de la imagen.
Se filtran pixeles dentro la imagen
binaria para que no salgan en la
imagen de salida.
Y muestra la salida final limpia de
objetos en la imagen binaria.

EXPLICACION DE LAS LINEAS DE


COMANDO

Lee el archivo de la carpeta donde se


est extrayendo la informacin.
Pasa la imagen de color a escala de
grises.
Nos deja ver el espacio donde se va a
visualizar la imagen de salida.
Luego se identifican los bordes, de
las formas en la imagen. Usando el
valor del umbral que tiene la imagen
en los elementos.
Nos deja ver el espacio donde se va a
2.3. Desarrolle el siguiente cdigo en el visualizar la imagen de salida.
Command Window de Matlab. Luego con el operador diferencial de
Sobel. Hace un aproximacin a la
intensidad de la imagen
Finalmente nos deja ver el orden de
la imagen en la salida grfica
Como ambas imgenes son producto de la misma
fuente y observando las salidas graficas la primera
que es de carcter lneas permite una visualizacin
a la salida con referencia al tamao de los bordes.
En la siguiente salida no se puede denotar nada
posiblemente las caractersticas de los cuadros
sobre pasan el tamao de los bordes y por esa
razn no se pudo visualizar en los bordes y quedo
negro en su mayora.

.
EXPLICACION DE LAS LINEAS DE COMANDO

Strel ('line', 3, 2) crea un elemento estructural


lineal plano.
que es simtrica con respecto al centro de
vecinos. DEG especifica el ngulo (en grados) de
la lnea medido en una en sentido contrario a las
agujas del reloj desde el eje horizontal. LEN es
aproximadamente la distancia entre los centros de
la estructura elementos en los extremos opuestos
de la lnea. EXPLICACION DE LAS LINEAS DE COMANDO
Luego la imagen es erosionada por el comando
imerode. Strel ('line', 3, 2) crea un elemento estructural
Las salida grafica es lo ltimo. lineal en el plano
Luego la dilatacin de los valores devueltos de
strel.
Y la salida grafica de la dilatacin.
Luego el relleno de los huecos y la dilatacin. Con
el comando imfill crea el dato. En base de los
bordes lineales.
Luego muestra la salida del archivo
Numpixels en la cantidad de pixeles que usa para
hacer el clculo del filtro para la reas binarias y
el relleno.Luego muestra la salida grfica.

EXPLICACION DE LAS LINEAS DE COMANDO

Crea un elemento estructurador cuadrado cuyo


Anchura es 2 pxeles. En base a los bordes
creados en el anterior listado de comandos
Luego la imagen es erosionada
Y mostrada en el cuadro de salida grafica

ANALISIS DE LAS IMGENES


ANALISIS
Comparando ambos mtodos el mejor mtodo
para este tipo de procedimiento es el square
porque demarca con ms claridad la informacin
EXPLICACION DE LAS LINEAS DE COMANDO de inters dentro el anlisis en cuanto al relleno
porque el estilo lineal no deja que se abarque la
Strel ('line', 3, 2) crea un elemento estructural totalidad de la informacin que se quiere separar.
cuadradas en el plano
Luego la dilatacin de los valores devueltos de
strel.
Y la salida grafica de la dilatacin.
Luego el relleno de los huecos y la dilatacin. Con
el comando imfill crea el dato. En base de los
Modifique el cdigo en los nmeros de
bordes lineales.
Luego muestra la salida del archivo square, line y numpixels hasta que su
Y tambin el anterior archivo imagen resultante sea la ms parecida a la
Numpixels en la cantidad de pixeles que usa para que obtuvo en el punto 2.1, donde se
hacer el clculo del filtro para las reas binarias y
el relleno.
visualizan el 80% de las moscas blancas sin
Luego muestra la salida grfica. ruido externo.
Line:
figure;muestra la imagen correspondiente a un
resultado plasmado mediante un llamado en la lnea
hoja enferma.jpg
imshow(binHojaenferma);
numpixels=5; // Variable que indica cantidad de Pixeles
asignados para la misma.
Filtro=bwareaopen(binHojaenferma,numpixels);
// Se utiliza la sentencia bwareaopen para crear una
nueva imagen.
figure;
imshow(Filtro);
se realiza para llamar la imagen

Square:

IMPLEMENTACION DE CODIGOS
Eliecer Solano Solano

Implementacin de cdigos en Matlab.


Cdigo 1 descripcin de cada lnea de programacin.
Hojaenferma=imread('Hojaenferma1.jpg'); //selecciona
la ruta donde se encuentra guardada la imagen .
Hojaenferma=im2double(Hojaenferma); //permite
obtener una doble precisin de la imagen.
figure; // permite verificar la figura en Indica a matlaba
imshow(Hojaenferma); // se indica a matlaba la figura a
mostrar.
umbral=0.8; //se realiza una Seleccin del umbral. a Realizar el siguiente experimento
partir de cual valor es un pixel blanco o es negro. modificando el cdigo anterior.
binHojaenferma=im2bw(Hojaenferma,umbral); //Crea
una imagen a partir de una imagen de intensidad basado Imagen 1
en el umbral dado en la lnea de programacin anterior
umbral =x. umbral=0.8;
Imagen 3
hojaenferma=imread('hojaenferma1.jpg');
hojaenferma= im2double(hojaenferma);
imshow(hojaenferma)
binhojaenferma=im2bw(hojaenferma,umbral);
figure;
figure;
imshow(hojaenferma)
imshow(hojaenferma)
Trial>> hojaenferma=imread('hojaenferma1.jpg');
umbral=0.7;
Trial>> hojaenferma= im2double(hojaenferma);
binhojaenferma=im2bw(hojaenferma,umbral);
Trial>> imshow(hojaenferma)
figure;
Trial>> figure;
imshow(hojaenferma)
Trial>> imshow(hojaenferma)
Trial>> umbral=0.8;
numpixels=200;
Trial>> binhojaenferma=im2bw(hojaenferma,umbral);
filtro=bwareaopen(binhojaenferma,numpixels);
Trial>> figure;
figure;
Trial>> imshow(hojaenferma)
imshow(filtro)
Trial>> numpixels=5;
Trial>> filtro=bwareaopen(binhojaenferma.numpixels;
Trial>> figure;
Trial>> imshow(filtro)

Imagen 4
hojaenferma=imread('hojaenferma1.jpg');
hojaenferma= im2double(hojaenferma);
figure;
imshow(hojaenferma)
umbral=0.85;
binhojaenferma=im2bw(hojaenferma,umbral);
figure;
Imagen 2
imshow(hojaenferma)
numpixels=200;
hojaenferma=imread('hojaenferma1.jpg'); filtro=bwareaopen(binhojaenferma,numpixels);
hojaenferma= im2double(hojaenferma); figure;
imshow(hojaenferma) imshow(filtro)
figure;
imshow(hojaenferma)
umbral=0.7;
binhojaenferma=im2bw(hojaenferma,umbral);
figure;
imshow(hojaenferma)
numpixels=10;
filtro=bwareaopen(binhojaenferma,numpixels);
figure;
imshow(filtro)

hojaenferma=imread('hojaenferma1.jpg');
hojaenferma= im2double(hojaenferma);
figure;
imshow(hojaenferma)

umbral=0.6;
binhojaenferma=im2bw(hojaenferma,umbral);
figure;
imshow(hojaenferma)
filtro correspondiente para la imagen que
numpixels=100; han investigado en el trabajo individual de la
filtro=bwareaopen(binhojaenferma,numpixels);
figure; parte terica fase I.
imshow(filtro)
Selecciona la ruta y la imagen en la que se va a trabajar Filtro para el ruido sal y pimienta
Trial>> Hojaenferma=im2double(Hojaenferma);
convierte la intensidad de la imagen a doble precisin Hojaenferma=imread('hojaenferma1.jpg');
Trial>> figure; crea una ventana donde aparece la GrayHojaenferma=rgb2gray(Hojaenferma);
imagen c=imnoise(Hojaenferma, 'salt & pepper',0.2);
Trial>> imshow(Hojaenferma) muestra la imagen en g=imnoise(GrayHojaenferma, 'salt & pepper',0.2);
una figura j=imnoise(Hojaenferma,'gaussian',0.5);
figure;
Trial>> umbral=0.6; da valor a una imagen y permite subplot(2,3,1);imshow(Hojaenferma);title('Imagen
distinguir si es claro o negro original');
Trial>> binHojaenferma=im2bw(Hojaenferma,umbral); subplot(2,3,2);imshow(GrayHojaenferma);title('imagen
convierte imagen a escala de grises GRISES');
Trial>> figure; subplot(2,3,3);imshow(c);title('salt & pepper original');
Trial>> imshow(binHojaenferma) subplot(2,3,4);imshow(g);title('salt & pepper grises');
subplot(2,3,5);imshow(j);title('gaussian original');
Trial>> numpixels=100; la cual nos indica la antidad de subplot(2,3,6);imshow(h);title('gaussian grises');
pixeles
Trial>>
Filtro=bwareaopen(binHojaenferma,numpixels);
elimina componentes conectados produciendo otra
imagen
Trial>> figure;
Trial>> imshow(Filtro)

Analice cada imagen obtenida en este ejercicio.


Segn lo observado en las imgenes de la hoja un
umbral que se denomina 0.6 se ve mayor escala en
blanco que las imgenes que se van acercando a 1
como donde la de 0.85 se observa con muy baja
escala de blancos. Como tambin se observa la
imagen de la hoja un numero especifico de
pixeles, entre mayor denominacin de pixeles la
imagen va tornndose con menos escalas en
blanco claro que esto tambin se da porque est
directamente influenciado con el umbral ya que se
est leyendo la imagen desde la misma escala. 2.3. Desarrolle el siguiente cdigo en el Command
Indique cual es la combinacin de umbral y de Window de Matlab. (Asegrese de estar
filtro que sirve para identificar la mosca blanca en trabajando en la carpeta que ya se ha creado).
la imagen que ha seleccionado.
Como podemos darnos cuenta en el umbral 0,8 y
Trial>> Hojaenferma=imread('hojaenferma1.jpg');
la de numpixels 5 esta solo nos deja observar lo
Trial>>
que son las moscas blancas puesto que lee de
GrayHojaenferma=rgb2gray(Hojaenferma);
claridad y si le aumentamos los pixeles esta ya no
Trial>> figure;
se mira numero de pixeles ya no se alcanza a
Trial>> imshow(Hojaenferma)
observar la mosca en donde se encuentra.
Trial>>
BordesCanny=edge(GrayHojaenferma,'Canny');
2.2. Cada estudiante debe averiguar cmo Trial>> figure;
implementar el filtro para el ruido sal y Trial>> imshow(BordesCanny)
pimienta y el filtro para el ruido Trial>>
Gaussiano. Posteriormente implementar el BordesSobel=edge(GrayHojaenferma,'Sobel');
Trial>> figure;
Trial>> imshow(BordesSobel)

Explique cada lnea de comando. Qu diferencias


encuentra entre el ejercicio a y b?
Analice cada imagen obtenida en este ejercicio.
2.5. Desarrolle el siguiente cdigo en el Command
Window de Matlab. (Asegrese de estar trabajando
en la carpeta que ya se ha creado). La imagen a
utilizar es la misma de la primera prctica.

Este cdigo necesita el cdigo del ejercicio 2,3 para


poder ser ejecutado
Explique cada lnea de comando. Qu hacen las
funciones canny y sobel?
Analice cada imagen obtenida en este ejercicio

Trial>> se1=strel('line',3,2);
Trial>> erosion=imerode(BordesSobel,se1);
Trial>> figure;
Trial>> imshow(erosion)

a.
Trial>> se3=strel('line',3,2);
Trial>> dilatacion=imdilate(BordesSobel,se3);
Trial>> figure;
Trial>> imshow(dilatacion)
Trial>> relleno=imfill(dilatacion,'holes');
Trial>> figure;
Trial>> imshow(relleno)
Trial>> numpixels=300;
Trial>> Filtro=bwareaopen(relleno,numpixels);
Trial>> se2=strel('square',2); Trial>> figure;
Trial>> erosion2=imerode(BordesSobel,se2); Trial>> imshow(Filtro)
Trial>> figure;
Trial>> imshow(erosion2) Strel ('line', 3, 2) crea un elemento estructural
Lineal en el plano
Luego la dilatacin de los valores devueltos de
strel.
Y la salida grafica de la dilatacin.
Luego el relleno de los huecos y la dilatacin. Con
el comando imfill crea el dato. En base de los
bordes lineales.
Luego muestra la salida del archivo
Numpixels en la cantidad de pixeles que usa para
hacer el clculo del filtro para las reas binarias y
el relleno.
Luego muestra la salida grfica.

Explique cada lnea de comando. Qu


diferencias encuentra entre el ejercicio a y b?
Analice cada imagen obtenida en este
ejercicio.

Lee el archivo de la carpeta donde se est


extrayendo la informacin.
Pasa la imagen de color a escala de grises.
Nos deja ver el espacio donde se va a
visualizar la imagen de salida.
Luego se identifican los bordes, de las formas
en la imagen. Usando el valor del umbral que
tiene la imagen en los elementos.
Nos deja ver el espacio donde se va a
visualizar la imagen de salida.
Luego con el operador diferencial de Sobel.
Hace un aproximacin a la intensidad de la
Trial>> se4=strel('square',2); imagen
Trial>> dilatacion2=imdilate(BordesSobel,se4); Finalmente nos deja ver el orden de la imagen
Trial>> figure; en la salida grfica
Trial>> imshow(dilatacion2)
Trial>> relleno2=imfill(dilatacion2,'holes');
Trial>> figure;
Modifique el cdigo en los nmeros de
Trial>> imshow(relleno2)
Trial>> imshow(relleno) square, line y numpixels hasta que su
Trial>> numpixels=300; imagen resultante sea la ms parecida a la que
Trial>> figure; obtuvo en el punto 2.1, donde se visualizan
Trial>> imshow(Filtro) el 80% de las moscas blancas sin ruido
externo.
Strel ('line', 3, 2) crea un elemento estructural
cuadradas en el plano Luego la dilatacin de los se3=strel('line',3,2);
valores devueltos de strel. Y la salida grafica de la dilatacion=imdilate(BordesSobel,se3);
dilatacin. Luego el relleno de los huecos y la figure;
dilatacin. Con el comando imfill crea el dato. En imshow(dilatacion)
base de los bordes lineales. Luego muestra la
relleno=imfill(dilatacion,'holes');
salida del archivo Y tambin el anterior archivo
Numpixels en la figure;
cantidad de pixeles que usa para hacer el clculo imshow(relleno)
del filtro para las reas binarias y el relleno.Luego numpixels=300;
muestra la salida grfica Filtro=bwareaopen(relleno,numpixels);
figure;
imshow(Filtro)
se4=strel('square',2);
dilatacion2=imdilate(BordesSobel,se4);
figure;
imshow(dilatacion2)
relleno2=imfill(dilatacion2,'holes');
figure;
imshow(relleno2)
imshow(relleno)
numpixels=300;
Filtro=bwareaopen(relleno,numpixels);
figure;
imshow(Filtro)

IMPLEMENTACION DE CODIGOS
Cristina Eliana Gmez Lozano

Procedimiento (Experimento) Parte


Individual:

2.1 Desarrolle el siguiente cdigo en el


Command Window de Matlab.
(Asegrese de estar trabajando en la
carpeta que ya se ha creado). Debe
seleccionar la misma imagen de la hoja
Realizar el siguiente experimento
enferma que seleccion en la Fase I y la
debe guardar como hojaenferma1 para modificando el cdigo anterior.
diferenciarla de la hoja sana.

Imagen 1
Trial>>
Hojaenferma=imread('hojaenferma1.jpg');
Trial>>
Hojaenferma=im2double(Hojaenferma);
Trial>> figure;
Trial>> imshow(Hojaenferma)
Trial>> umbral=0.8;
Trial>>
binHojaenferma=im2bw(Hojaenferma,um
bral);
Trial>> figure;
Trial>> imshow(binHojaenferma)
Trial>> numpixels=5;
Trial>> Figura 2
Filtro=bwareaopen(binHojaenferma,num
pixels);
Trial>> figure; Trial>>
Trial>> imshow(Filtro) Hojaenferma=imread('hojaenferma1.jpg');
Trial>>
Hojaenferma=im2double(Hojaenferma);
Trial>> figure;
Trial>> imshow(Hojaenferma)
Trial>> umbral=0.7;
Trial>>
binHojaenferma=im2bw(Hojaenferma,um
bral);
Trial>> figure;
Trial>> imshow(binHojaenferma)
Trial>> numpixels=10;
Trial>>
Filtro=bwareaopen(binHojaenferma,num
pixels);
Trial>> figure;
Trial>>
imshow(Filtro)

Figura 3

Trial>>
Hojaenferma=imread('hojaenferma1.jpg');
Trial>>
Hojaenferma=im2double(Hojaenferma);
Trial>> figure;
Trial>> imshow(Hojaenferma)
Trial>> umbral=0.7;
Trial>>
binHojaenferma=im2bw(Hojaenferma,um
bral);
Trial>> figure;
Trial>> imshow(binHojaenferma)
Trial>> numpixels=200;
Trial>>
Filtro=bwareaopen(binHojaenferma,num
pixels);
Trial>> figure;
Trial>> imshow(Filtro)
Trial>> imshow(binHojaenferma)

Trial>> numpixels=200;
Trial>>
Filtro=bwareaopen(binHojaenferma,num
pixels);
Trial>> figure;
Trial>> imshow(Filtro)

Figura 4

Trial>>
Hojaenferma=imread('hojaenferma1.jpg');
Trial>>
Hojaenferma=im2double(Hojaenferma);
Trial>> figure;
Trial>> imshow(Hojaenferma)

Trial>> umbral=0.85;
Trial>>
binHojaenferma=im2bw(Hojaenferma,um
bral);
Trial>> figure;
Trial>>
Filtro=bwareaopen(binHojaenferma,n
umpixels); elimina componentes
conectados produciendo otra imagen
Trial>> figure;
Trial>> imshow(Filtro)

Analice cada imagen obtenida en este


ejercicio.
Segn lo observado en las imgenes de
la hoja un umbral que se denomina 0.6
se ve mayor escala en blanco que las
imgenes que se van acercando a 1
como donde la de 0.85 se observa con
muy baja escala de blancos. Como
Explique cada lnea de comando. Qu
hacen las funciones im2bw y tambien se observa la imagen de la hoja
bwreaopen? un numero especifico de pixeles, entre
mayor denominacin de pixeles la
Trial>> imagen va tornndose con menos
Hojaenferma=imread('hojaenferma1.j escalas en blanco claro que esto tambin
pg'); Selecciona la ruta y la imagen en la se da porque est directamente
que se va a trabajar influenciado con el umbral ya que se
Trial>> est leyendo la imagen desde la misma
Hojaenferma=im2double(Hojaenferma escala.
); convierte la intensidad de la imagen a
doble precisin
Trial>> figure; crea una ventana donde Indique cual es la combinacin de
aparece la imagen umbral y de filtro que sirve para
Trial>> imshow(Hojaenferma) muestra identificar la mosca blanca en la imagen
la imagen en una figura que ha seleccionado.

Trial>> umbral=0.6; da valor a una Como podemos darnos cuenta en el


imagen y permite distinguir si es claro o umbral 0,8 y la de numpixels 5 esta solo
negro nos deja observar lo que son las moscas
Trial>> blancas puesto que lee de claridad y si le
binHojaenferma=im2bw(Hojaenferma, aumentamos los pixeles esta ya no se
umbral); convierte imagen a escala de mira la mosca en donde se encuentra.
grises
Trial>> figure; 2.2. Cada estudiante debe averiguar
Trial>> imshow(binHojaenferma) cmo implementar el filtro para el ruido
sal y pimienta y el filtro para el ruido
Trial>> numpixels=100; la cual nos Gaussiano. Posteriormente
indica la antidad de pixeles implementar el filtro correspondiente
para la imagen que han investigado en
el trabajo individual de la parte terica (Asegrese de estar trabajando en la
fase I. carpeta que ya se ha creado).

Explique cada lnea de comando.


Hojaenferma=imread('C:\Users\ZONA1\ Qu hacen las funciones canny y
Documents\MATLAB\Tratamiento de sobel?
Imagenes\Hojaenferma1.jpg');
Trial>> Explicacin
GrayHojaenferma=rgb2gray(Hojaenferm
a); Trial>>
c=imnoise(Hojaenferma, 'salt & Hojaenferma=imread('hojaenferma1.jpg');
pepper',0.2); sale imagen real
g=imnoise(GrayHojaenferma, 'salt & Trial>>
pepper',0.2); GrayHojaenferma=rgb2gray(Hojaenferm
j=imnoise(Hojaenferma,'gaussian',0.5); a); convierte la imagen a color o escala
h=imnoise(GrayHojaenferma,'gaussian',0. de grisess
5); Trial>> figure; nos muestra la ventana de
figure; la imagen a salir
subplot(2,3,1);imshow(Hojaenferma);title Trial>> imshow(Hojaenferma) nos
('Imagen original'); muestra la imagen
subplot(2,3,2);imshow(GrayHojaenferma Trial>>
);title('imagen GRISES'); BordesCanny=edge(GrayHojaenferma,'C
subplot(2,3,3);imshow(c);title('salt & anny'); nos muestra una mltiples etapas
pepper original'); para detectar una amplia gama de bordes
subplot(2,3,4);imshow(g);title('salt & en imgenes.
pepper grises'); Trial>> figure; nos muestra la ventana de
subplot(2,3,5);imshow(j);title('gaussian la imagen a salir
original'); Trial>> imshow(BordesCanny) ) nos
subplot(2,3,6);imshow(h);title('gaussian muestra la imagen
grises'); Trial>>
BordesSobel=edge(GrayHojaenferma,'So
bel'); detecta los bordes horizontales y
verticales separadamente sobre una
imagen en escala de grises.
Trial>> figure; nos muestra la ventana de
la imagen a salir
Trial>> imshow(BordesSobel) nos
muestra la imagen

2.3. Desarrolle el siguiente cdigo en el


Command Window de Matlab.
Analice cada imagen obtenida en este
ejercicio.

En este caso podemos darnos cuenta que


en la imagen cany nos muestra una gamas
mas amplia de los bordes de la hoja
mientras que en bordes sobel nos nuestra
mas los bordes horizontales de la imagen.

2.4. Desarrolle el siguiente cdigo en el


Command Window de Matlab.
(Asegrese de estar trabajando en la
carpeta que ya se ha creado).

a.

Trial>> se1=strel('line',3,2); crea un


elemento
Trial>>
erosion=imerode(BordesSobel,se1);
Trial>> figure;
Trial>> imshow(erosion)

b.

Trial>> se2=strel('square',2);
Trial>>
erosion2=imerode(BordesSobel,se2);
Trial>> figure;
Trial>> imshow(erosion2)
Trial>> numpixels=300;
Trial>>
Filtro=bwareaopen(relleno,numpixels);
Trial>> figure;
Trial>> imshow(Filtro)

Explique cada lnea de comando. Qu


diferencias encuentra entre el
ejercicio a y b?
Rta/: en este caso en la imagen a
alcanzamos a mirar los bordes de la hoja
pero casi las moscas no se alcanzan a
mirar mientras que en la imagen b no se
alcanza a mirar absolutamente nada.

Analice cada imagen obtenida en este


ejercicio.

2.5. Desarrolle el siguiente cdigo en el


Command Window de Matlab.
(Asegrese de estar trabajando en la
carpeta que ya se ha creado). La imagen a
utilizar es la misma de la primera
prctica.

Este cdigo necesita el cdigo del


ejercicio 2,3 para poder ser ejecutado.

a.
Trial>> se3=strel('line',3,2);
Trial>>
dilatacion=imdilate(BordesSobel,se3);
Trial>> figure;
Trial>> imshow(dilatacion)
Trial>> relleno=imfill(dilatacion,'holes');
Trial>> figure;
Trial>> imshow(relleno)
b.
Trial>> se4=strel('square',2);
Trial>>
dilatacion2=imdilate(BordesSobel,se4);
Trial>> figure;
Trial>> imshow(dilatacion2)
Trial>>
relleno2=imfill(dilatacion2,'holes');
Trial>> figure;
Trial>> imshow(relleno2)
Trial>> imshow(relleno)
Trial>> numpixels=300;
Trial>> figure;
Trial>> imshow(Filtro)
Trial>>
Hojaenferma=imread('hojaenferma1.jpg');
GrayHojaenferma=rgb2gray(Hojaenferm
a);
figure;
imshow(Hojaenferma)
BordesCanny=edge(GrayHojaenferma,'C
anny');
figure;
imshow(BordesCanny)
BordesSobel=edge(GrayHojaenferma,'So
bel');
figure;
imshow(BordesSobel)
se3=strel('line',3,2);
Explique cada lnea de comando. Qu dilatacion=imdilate(BordesSobel,se3);
diferencias encuentra entre el ejercicio figure;
a y b? imshow(dilatacion)
relleno=imfill(dilatacion,'holes');
Rta/ en los dos ejrcicio tanto a como b figure;
podemos darnos cuenta que imshow(relleno)
prcticamente el cambio que tienen las numpixels=110;
imgenes son prcticamente los msmos. Filtro=bwareaopen(relleno,numpixels);
figure;
imshow(Filtro)
Indilate: Dilata la imagen Ienta puede se4=strel('square',4);
ser tanto binaria como en escala de dilatacion2=imdilate(BordesSobel,se4);
grises figure;
Infill: realiza la operacin morfolgica imshow(dilatacion2)
de rellenado en una imagen binaria relleno2=imfill(dilatacion2,'holes');
figure;
Analice cada imagen obtenida en este imshow(relleno2)
ejercicio. imshow(relleno)
numpixels=110;
Filtro=bwareaopen(relleno,numpixels);
Modifique el cdigo en los nmeros de figure;
square, line y numpixels hasta imshow(Filtro)
que su imagen resultante sea la ms
parecida a la que obtuvo en el punto
2.1, donde se visualizan el 80% de las
moscas blancas sin ruido externo.
IMPLEMENTACION DE CODIGOS

MINEIRA PAPAMIJA.

2.1 Desarrolle el siguiente cdigo en el


Command Window de Matlab.
(Asegrese de estar trabajando en la
carpeta que ya se ha creado). Debe
seleccionar la misma imagen de la hoja
enferma que seleccion en la Fase I y la
debe guardar como hojaenferma1
para diferenciarla de la hoja sana.

Nota: Si no est trabajando en la carpeta


donde se encuentra la imagen guardada,
al realizar el cdigo le saldr error.

>>
Hojaenferma=imread('hojaenferma1.jpg');
>>
Hojaenferma=im2double(Hojaenferma);
>> figure;
>> imshow(Hojaenferma)
>> umbral=0.6;
>>
binHojaenferma=im2bw(Hojaenferma,um
bral);
>> figure;
>> imshow(binHojaenferma)
>> numpixels=100;
>>
filtro=bwareaopen(binHojaenferma,nump
ixels);
>> figure;
>> imshow(filtro)
>> Realizar el siguiente experimento
modificando el cdigo anterior.
Imagen 1 - umbral 0.8 - numpixels 5 Imagen 2 - umbral 0.7 - numpixels 10
Imagen 3 - umbral 0.7 - numpixels 200 Imagen 4 - umbral 0.85 - numpixels 200
Explique cada lnea de comando. Qu Analice cada imagen obtenida en este
hacen las funciones im2bw y bwreaopen? ejercicio.
Podemos observar en las imgenes de la
>> hoja que en el umbral 0.6 se denota
Hojaenferma=imread('hojaenferma1.jpg'); mayor escala de blanco que el resto de las
lee la imagen a operar imgenes que se van acercando a 1.
Respecto al nmero especifico de pixeles,
>> entre mayor denominacin de pixeles la
Hojaenferma=im2double(Hojaenferma); imagen va tornndose con menos escalas
convierte la imagen a doble precisin de blanco y esto tambin se da por la
tomando la imagen como entrada, si la escala de umbral.
entrada no es del tipo doble el comando
devuelve una imagen equivalente reescalando Indique cual es la combinacin de
o compensando los datos segn sea necesario. umbral y de filtro que sirve para
>> figure; crea una ventana para ver la identificar la mosca blanca en la imagen
figura que ha seleccionado.
>> imshow(Hojaenferma) muestra la
La que me parece mejor es la de Umbral
imagen en una figura aparte
0.7 y numpixels de 200 ya que en esta se
observa justamente solo lo que son la
>> umbral=0.6; Parametriza le da valor a
mosca blanca en donde est ubicada ya
la imagen para permitir distinguir en una
que si el umbral es menor da lectura de
imagen los objetos del fondo de los
claridades de las hoja en s, y si le
objetos del primer plano
colocamos mayor nmero de pixeles ya
>>
no se alcanza a observar la mosca en
binHojaenferma=im2bw(Hojaenferma,um
donde se encuentra.
bral); convierte la imagen en escala de
grises; en una imagen binaria.
2.2. Cada estudiante debe averiguar cmo
implementar el filtro para el ruido sal y
Rta: im2bw (I, level) convierte la imagen
pimienta y el filtro para el ruido
en escala de grises I en una imagen
Gaussiano. Posteriormente implementar
binaria. La imagen de salida BW
el filtro correspondiente para la imagen
reemplaza todos los pxeles de la imagen
que han investigado en el trabajo
de entrada con luminancia mayor que el
individual de la parte terica fase I.
nivel con el valor 1 (blanco) y reemplaza
todos los otros pxeles con el valor 0
(negro)
Rta: bwreaopen Realizar la apertura del
rea.

Quitar los objetos con menos de lim


elementos de una imagen binaria bw.
el ruido, y ms probabilidades de detectar
verdaderos bordes dbiles.
>> figure;
>> imshow(BordesCanny) muestra la
imagen en una figura aparte con bordes
canny
>>
BordesSobel=edge(GrayHojaenferma,'sob
el'); Edge, sobel: detectar los bordes
usando el mtodo Sobel. Este mtodo
encuentra bordes usando la aproximacin
de Sobel a la derivada. Devuelve bordes
2.3. Desarrolle el siguiente cdigo en el en aquellos puntos donde el gradiente
Command Window de Matlab. de es la mxima.
(Asegrese de estar trabajando en la
carpeta que ya se ha creado). >> figure;
>> >> imshow(BordesSobel) muestra la
Hojaenferma=imread('hojaenferma1.jpg'); imagen en una figura aparte con bordes
lee la imagen a operar sobel
>> >>
GrayHojaenferma=rgb2gray(Hojaenferm
a); convierte una imagen RGB o en
color a escala de grises, eliminando la
informacin del brillo y la saturacin
mientras mantiene el valor de
iluminacin.
>> figure; crea una ventana para ver la
figura
>> imshow(Hojaenferma) muestra la
imagen en una figura aparte

>>
BordesCanny=edge(GrayHojaenferma,'C
anny'); Edge, canny: detectar bordes
utilizando el mtodo Canny. El mtodo
Canny encuentra aristas buscando
mximos locales del gradiente de la
funcin de edge calcula el gradiente
utilizando la derivada de un filtro
gaussiano. Este mtodo utiliza dos
umbrales para detectar bordes fuertes y
dbiles, incluyendo bordes dbiles en la
salida si estn conectados a bordes
fuertes. Mediante el uso de dos umbrales,
el mtodo de Canny es menos probable
que los otros mtodos sean engaados por
La imagen de las moscas casi no puede
ser apreciada debido a que los objetos
obtenidos son muy dispersos y solo son
en forma de pequeas lneas y puntos.
b.

Analice cada imagen obtenida en este


ejercicio.

En la imagen canny se detecta todos los


bordes donde cambia de color sobre la
imagen, mientras que en la imagen de
sobel detecta los bordes donde estn ms
fuertes.
2.4. Desarrolle el siguiente cdigo en el
Command Window de Matlab.
(Asegrese de estar trabajando en la
carpeta que ya se ha creado).
Nota: Si no est trabajando en la carpeta No se alcanza a observar nada de la
donde se encuentra la imagen guardada, imagen.
al realizar el cdigo le saldr error.
Explique cada lnea de comando. Qu
Este cdigo necesita el cdigo del
diferencias encuentra entre el ejercicio a y
ejercicio 2,3 para poder ser ejecutado.
b?
Strel: Crear un elemento estructurador
morfolgico, SE = strel('square',W) Crea
un elemento estructurador cuadrado cuya
anchura es W pxeles. W debe ser un
escalar entero no negativo.
SE = strel ('line', LEN, DEG) crea un
elemento estructural lineal plano que es
simtrica con respecto al centro de barrio.
DEG especifica el ngulo (en grados) de
la lnea medido en una en sentido
contrario a las agujas del reloj desde el eje
horizontal. LEN es aproximadamente la
distancia entre los centros de la estructura
elementos de elemento en extremos
opuestos de la lnea.

Imerode: IM2 = imerode(IM,SE)


Erosiona la imagen binaria en escala de
grises, binaria o empaquetada IM,
devolviendo la imagen erosionada, IM2.
SE es un elemento estructurante objeto o
matriz de objetos de elementos
estructuradores, devueltos por el comando
STREL.

En la primera imagen no se puede


apreciar ninguna de las moscas en su
forma pues solo se ven puntos y lneas y
en la segunda imagen no se alcanza a
observar nada.

2.5. Desarrolle el siguiente cdigo en el


Command Window de Matlab.
(Asegrese de estar trabajando en la
carpeta que ya se ha creado). La imagen a
utilizar es la misma de la primera
prctica.

Nota: Si no est trabajando en la carpeta


donde se encuentra la imagen guardada,
al realizar el cdigo le saldr error.

Este cdigo necesita el cdigo del


ejercicio 2,3 para poder ser ejecutado.
b. Explique cada lnea de comando. Qu
diferencias encuentra entre el ejercicio a
y b?
Imdilate: dilata los bordes de la imagen
segn la estructura introducida que es
obtenida con el comando strel.

Imfill: Llena agujeros en la imagen de


entrada. Un agujero es un conjunto de
pxeles de fondo que no se puede alcanzar
rellenando el fondo desde el borde de la
imagen

Analice cada imagen obtenida en este


ejercicio.

Las imgenes de los dos puntos son


iguales y los bordes sobel son ms
fuertes aparte Rellena algunos agujeros
entre los bordes dilatados creados con el
comando imfill.

Modifique el cdigo en los nmeros de


square, line y numpixels hasta
que su imagen resultante sea la ms
parecida a la que obtuvo en el punto 2.1,
donde se visualizan el 80% de las moscas
blancas sin ruido externo.
>>
Hojaenferma=imread('hojaenferma1.jpg');
GrayHojaenferma=rgb2gray(Hojaenferm
a);
figure;
imshow(Hojaenferma)
BordesCanny=edge(GrayHojaenferma,'C
anny');
figure;
imshow(BordesCanny)
BordesSobel=edge(GrayHojaenferma,'So
bel');
figure;
imshow(BordesSobel)
>>
>> se3=strel('line',3,1);
dilatacion=imdilate(BordesSobel,se3);
figure;
imshow(dilatacion)
relleno=imfill(dilatacion,'holes');
figure;
imshow(relleno)
numpixels=100;
>>
Filtro=bwareaopen(relleno,numpixels);
figure;
imshow(Filtro)
se4=strel('square',3);
dilatacion2=imdilate(BordesSobel,se4);
figure;
imshow(dilatacion2)
relleno2=imfill(dilatacion2,'holes');
>> figure;
imshow(relleno2)
imshow(relleno)
numpixels=100;
Filtro=bwareaopen(relleno,numpixels);
figure;
imshow(Filtro)
>>
IMPLEMENTACION DE CODIGOS

Daniel Esteban Agudelo Berro

Hojaenferma=imread('Hojaenferma1.jpg')
; //selecciona la ruta y la imagen a
trabajar.
Hojaenferma=im2double(Hojaenferma);
//Convierte la intensidad de la imagen
Hojaenferma a doble precisin.
figure; // Indica a matlaba abrir un
recuadro en el que mostrar una figura
dada.
imshow(Hojaenferma); // se indica a
matlaba la figura a mostrar.

umbral=0.8; //Seleccion del umbral a


partir de cual valor es un pixel blanco o es
negro.
binHojaenferma=im2bw(Hojaenferma,um
bral); //Crea una imagen a partir de una
imagen de intensidad basado en el umbral
dado.
figure;
imshow(binHojaenferma);

numpixels=5; // Variabla que indica


cantidad de Pixeles
Filtro=bwareaopen(binHojaenferma,num
pixels);
// se utiliza la sentencia bwareaopen la
cual quita todos los objetos que tengan
menos de 5 pixeles de la imagen
binHojaenferma creando una nueva
imagen.
figure;
imshow(Filtro);
Resultado de las Imgenes. una imagen precisa o ms slida de lo
Con umbral de 0.8 y numpixels de 5: que se est tratando de identificar.

Con Umbral de 0.7 y Numpixels de 10:

Con Umbral 0.7 y Numpixels de 200 Cdigo de ruido y filtro para los ruidos de
Sal y pimienta y gaussiano.
imc=imread('C:\Users\Daniel\Google
Drive\Ingenieria
Teleco\SemestrelV\Tratamiento de
Imagenes\Fase2\PruebasMatlab\Hojaenfe
rma1.jpg');
im=rgb2gray(imc);
Con Umbral 0.85 y Numpixels de 200 fg = imnoise(im,'gaussian');
fs = imnoise(im,'salt & pepper',0.1)
h1=fspecial('average');
mediana1=medfilt2(fg);
mediana2=medfilt2(fs);
%Representaciones de las imgenes
subplot(2,3,1),subimage(fg),title('Imagen
con ruido gaussiano');
Anlisis:
subplot(2,3,4),subimage(fs),title('Imagen
Luego de revisar las grficas obtenidas al
con ruido sal y pimienta');
ejecutar el comando en el software
subplot(2,3,3),subimage(im),title('Origina
Matlab, la combinacin de umbral y filtro
l');
que permite identificar la enfermedad es
subplot(2,3,6),subimage(im),title('Origina
la de umbral de 0.7 y filtro de pixeles
l2');
mayores a 200, pues en esta se identifica
plenamente que es una cantidad
determinada de un animal y permite
identificar su forma. Se nota que al
aumentar el umbral y el nmero de
pixeles la imagen se va degradando y no
muestra informacin precisa comparando
con la imagen original. Cuando
disminuye el umbral y el nmero de
pixeles lo que sucede es que no se tiene
Imgenes: BordesSobel=edge(GrayHojaenferma,'So
bel'); // Deteccin de bordes en los
distintos niveles de intensidad asignando
un bit a un borde detectado y otro a la no
deteccin, este mtodo est basado en el
uso del gradiente vertical y horizontal en
cada bit y multiplicado con la imagen en
escala de grises para determinar la
existencia o no de un borde discreto.
figure;
imshow(BordesSobel) // muestra la
imagen con la deteccin del borde Sobel.
Resultado de los bordes:

Funciones Canny y Sobel.


Hojaenferma=imread('C:\Users\Daniel\G
oogle Drive\Ingenieria
Teleco\SemestrelV\Tratamiento de
Imagenes\Fase2\PruebasMatlab\Hojaenfe Anlisis:
rma1.jpg'); //seleccin de la imagen a Para el propsito del proyecto, se
analizar. evidencia que el mtodo ms acorde para
GrayHojaenferma=rgb2gray(Hojaenferm la deteccin de bordes el Sobel, debido a
a); //lleva la imagen Hojaenferma de que se muestra de una forma ms
RGB a escala de grises eliminando la evidente debido al claro bordeado que
informacin del tono y saturacin y tiene cada una de las moscas las cuales
conserva la luminancia. son la plaga o enfermedad que en el
figure; momento tiene la hoja. Mientras en el
imshow(Hojaenferma) // Muestra la borde Canny debido a su alta sensibilidad
imagen original, en RGB. en la deteccin de bordes no se obtiene
BordesCanny=edge(GrayHojaenferma,'C una imagen que brinde informacin.
anny'); comando para la deteccin de
bordes usando el metodo Canny, el cual
consiste en encontrar mximos y mnimos Erosin:
en los Hojaenferma=imread('C:\Users\Daniel\G
Gradientes (derivadas en los diferentes oogle Drive\Ingenieria
ejes, en el caso de una imagen Teleco\SemestrelV\Tratamiento de
bidimensional: x,y). Mediante el uso de Imagenes\Fase2\PruebasMatlab\Hojaenfe
umbrales, este mtodo es el menos rma1.jpg');
propenso al ruido y ms sensible a la GrayHojaenferma=rgb2gray(Hojaenferm
deteccin de bordes dbiles. a);
figure; figure;
imshow(BordesCanny) // muestra la imshow(Hojaenferma)
imagen con la deteccin del borde Canny. BordesCanny=edge(GrayHojaenferma,'C
anny');
figure; relleno=imfill(dilatacion,'holes'); //este
imshow(BordesCanny) proceso de relleno, con la sentencia holes,
BordesSobel=edge(GrayHojaenferma,'So indica que llenar aquellas partes que
bel'); tienen un borde definido cerrado.
figure; figure;
imshow(BordesSobel) imshow(relleno)
numpixels=300;
se1=strel('line',3,2); // Estructura la Filtro=bwareaopen(relleno,numpixels);
imagen en este caso de una forma lineal //con la sentencia bwareaopen se quitar
con una longitud de 3 y un ngulo de 2 todos los objetos que tengan menos de
grados. 300 pixeles
erosion=imerode(BordesSobel,se1); // figure;
luego de haber sido estructurada la imshow(Filtro)
imagen, esta sentencia mostrar las
erosiones en la nueva imagen estructurada se4=strel('square',2); // Estructura la
que para este caso es la del borde. imagen, en este caso de una forma
figure; cuadrada con un tamao de 2 pixeles.
imshow(erosion) dilatacion2=imdilate(BordesSobel,se4); //
Se aplica dilatacin a la imagen con la
se2=strel('square',2); // Estructura la estructura se4
imagen, en este caso de una forma figure;
cuadrada con un tamao de 2 pixeles. imshow(dilatacion2)
erosion2=imerode(BordesSobel,se2); // relleno2=imfill(dilatacion2,'holes'); //este
Realizar el mismo procedimiento de la proceso de relleno, con la sentencia holes,
sentencia erosion pero esta vez basado en indica que llenar aquellas partes que
la estructura cuadradad de 2 pixeles. tienen un borde definido cerrado.
figure; figure;
imshow(erosion2) imshow(relleno2)
imshow(relleno)
numpixels=300;
Filtro=bwareaopen(relleno,numpixels);//c
on la sentencia bwareaopen se quitar
todos los objetos que tengan menos de
300 pixeles
figure;
imshow(Filtro)

Dilatacin
se3=strel('line',3,2); // Estructura la
imagen en este caso de una forma lineal
con una longitud de 3 y un ngulo de 2
grados.
dilatacion=imdilate(BordesSobel,se3); //
Se aplica dilatacin a la imagen con la
estructura se3
figure;
imshow(dilatacion)
conocimientos logrando obtener un buen
aprendizaje en la materia

Se logr evidenciar que en los diferentes


anlisis realizados en las distintas
muestras de hojas enfermas, la
delineacin de cada objeto visto en la
imagen tiene su comando de mejor
implementacin por ejemplo en el
momento que los objetos son de
caractersticas lineales no es muy
recomendable el uso de square puesto
este comando es mejor usarlo para
rellenar por su caracterisiticas digitales.
Anlisis:
En esta etapa se ha aplicado el mtodo de
El uso de los anlisis sistematizados
dilatacin perteneciente a la
brinda la capacidad de analizar
reconstruccin morfolgica integrado con
informacin a grandes volmenes y con
otros mtodos como el relleno, el filtrado
una exactitud muy superior que al
y el bordeado de imgenes, obteniendo
realizarlo por inspeccin humana
una imagen consistente de la enfermedad
simplemente.
que padece la hoja enferma. Resulta de
gran importancia la forma final de esta
La identificacin de elementos en la
imagen debido a la informacin que
escala de grises facilita la diferenciacin
puede aportar, ya que se ve de una forma
de los objetos a analizar.
clara la mosca blanca. Es determinante
como se desarrolla la reconstruccin Se puede ver que el contenido y la temtica
morfolgica y que tan acertados son los
de este curso nos van a mostrar mucho ms
mtodos de aproximacin que maneja
all, de lo que se puede hacer con una
utilizando las operacin y lgica de
imagen, y como es que con determinado
conjuntos.
proceso se puede extraer informacin
relevante para diversos proyectos.
IV. CONCLUSIONES
Al concluir el desarrollo de este trabajo
en el cual se ejecuta las tcnicas de V. REFERENCIAS
separacin de objetos de una imagen con
el uso de Matlab y se elige los diferentes
tipos de filtros como solucin al Boletn de la Sociedad Entomolgica
mejoramiento de una imagen digital. Aragonesa (S.E.A.), n 53 (31/12/2013):
Como tambien se dio la respuesta a las 443464, BINARIZACIN DE
diferentes preguntas planteadas y tambien IMGENES DIGITALES Y SU
se hizo el proceso de la imagen ALGORITMIA COMO
seleccionada por cada integrante logrando HERRAMIENTA APLICADA A LA
obtener un buen resultado en cada uno de ILUSTRACIN ENTOMOLGICA
los experimentos, siendo de gran Rafael Magro disponible en: http://sea-
importancia para afianzar nuestros
entomologia.org/PDF/Boletin53/443464B Segmentacin de imgenes a travs de
SEA53BinarizacionRMagro.pdf reconstruccin morfolgica en niveles de
gris. Moler Emilce, Pastore Juan Ignacio,
Procesadores de imgenes- Reduccion de Bouchet Agustina Laboratorio de
Ruido disponible Procesos y Medicin de Seales Facultad
en:https://www.albedomedia.com/tecnolo de Ingeniera, Universidad Nacional de
gia/procesadores-de-imagen-reduccion- Mar del Plata disponible
de-ruido/ en:http://sedici.unlp.edu.ar/bitstream/hand
le/10915/22597/Resumen.pdf?sequence=
Ruido y Filtrado disponible 1
en:http://www.dc.uba.ar/materias/t1/2015
/c2/archivos/ClaseRuidoFiltrado2C2015.p Ruidos y Filtros Segmentacin, Mara
df Elena Buemi disponible en:http://www-
2.dc.uba.ar/materias/t1/files/ClaseNov3.p
Ruido en la fotografa digital disponible df
en:
https://es.wikipedia.org/wiki/Ruido_en_la Contribucin al tratamiento de imagenes:
_fotograf%C3%ADa_digital#Ruido_Imp filtros selectivos BEN HAMZA
ulsional_o_.22Sal_y_Pimienta.22 ABDESSAMAD 1997
https://books.google.com.co/books?id=w
Ruidos y Filtros Segmentacin, Mara 32sjweacaaj
Elena Buemi disponible en:http://www-
Tratamiento de Imgenes Y Aplicaciones
2.dc.uba.ar/materias/t1/files/ClaseNov3.p
Nadia Lizbeth Bermeo Campos, Oscar
df
AlonsoCespedes 2012
https://books.google.com.co/books?isbn=
TRATAMIENTO DEL RUIDO,
3659002941
disponible
en:http://www.udb.edu.sv/udb/archivo/gu
Filtros digitales : aplicacin al tratamiento
ia/biomedica-ingenieria/imagenes-
de imgenes Patricia Pisabarro
medicas/2015/ii/guia-4.pdf
Marrn, Alfonso Garca Renedo - 1996 -
https://books.google.com.co/books?id=z
Morfologa, disponible
MtQcgAACAAJ
en:http://alojamientos.us.es/gtocoma/pid/t
ema5-1.pdf Bovik, A. C. (2005). Handbook of Image
and Video Processing. Amsterdam:
Morfologa matemtica, disponible Academic Press, 2005. eBook Collection
en:https://es.wikipedia.org/wiki/Morfolog (EBSCOhost), pp. 4 12. Recuperado
%C3%ADa_matem%C3%A1tica de:
Tcnicas de Segmentacin en http://bibliotecavirtual.unad.edu.co:2048/l
Procesamiento Digital de Imgenes, Dra. ogin?user=proveedor&pass=danue0a0&u
Nora La Serna Palomino, 1 Facultad de rl=http://bibliotecavirtual.unad.edu.co:20
Ingeniera de Sistemas e Informtica, 51/login.aspx?direct=true&db=nlebk&A
disponible N=214674&lang=es&site=ehost-live
en:http://sisbib.unmsm.edu.pe/BibVirtual/
Publicaciones/risi/2009_n2/v6n2/a02v6n2 Deteccin de bordes, Mtodos basados en
.pdf operadores
lineales de gradiente Extrado de
http://www.sc.ehu.es/ccwgrrom/transpare
ncias/pdf-vision-1-
transparencias/capitulo-6.pdf

Rafael C. Gonzalez, Richard E.


Woods: Digital Image Processing. Addison-
Wesley, Reading Mass 1992. ISBN 0-201-
50803-6 (en ingls)
Image Processing Toolbox
https://edoras.sdsu.edu/doc/matlab/toolbox/i
mages/imdilate.html
Documentation MathWorks
https://www.mathworks.com/help/images/ref/
imerode.html

https://www.mathworks.com/help/images/ref/
imdilate.html

https://www.mathworks.com/help/images/ref/
imfill.html

Deteccin de bordes en una imagen.


Universidad de Jan.
http://www4.ujaen.es/~satorres/practicas/prac
tica3_vc.pdf

Potrebbero piacerti anche