Está en la página 1de 22

Etapa 2

Presentado por:
Albeiro Pedrozo Villarruel
9238396

Grupo: 208054

PRESENTADO A:
Sandra Milena García

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD


Escuela de Ciencias Básicas, Tecnología e Ingeniería.
-Marzo-2021
1. Desarrolle el siguiente código en un Script de Matlab y guárdelo como “procesamiento”.
(Asegúrese de estar trabajando en la carpeta que ya se ha creado). Debe trabajar con la
imagen que fue asignada y enviada por su tutor en la Etapa 1. Esta imagen
la debe guardar como “imagen1”.
Nota2: Para que el código sea válido, debe tener una línea con su nombre, año, periodo
académico y semestre actual que esta cursando el estudiante (según plan de estudios).
%Nombre: Albeiro Pedrozo
%Año: 2021
%Periodo: 2021 I PERIODO 16-01 (951)
%Semestre: 9 semestre
clc
clear all
close all
Comunicacion=imread('imagen1.jpg.jpg');
GrayComunicacion=rgb2gray(Comunicacion);
figure;
imshow(GrayComunicacion)
GrayComunicacion=im2double(Comunicacion);
figure;
imhist(GrayComunicacion)
Comunicacion=im2double(Comunicacion);
figure;
imshow(Comunicacion)
umbral=0.6;
binComunicacion=im2bw(Comunicacion,umbral);
binComunicacion=~binComunicacion;
figure;
imshow(Comunicacion)
numpixels=10000;
Filtro1=bwareaopen(binComunicacion,numpixels);
figure;
imshow(Filtro1)

 Explique cada línea de comando.


Clc: este comando sirve para borra todo el texto de la ventana de comandos, lo que da como
resultado una pantalla limpia. Después de ejecutar clc, no puede usar la barra de desplazamiento en
la ventana de comandos para ver el texto mostrado anteriormente.
Clear all: Este comando sirve para eliminar todos los breakpoints que haya en el fichero.
Close all: Este comando cierra todas las ventanas gráficas abiertas.
Comunicacion=imread: lee la imagen del archivo especificado por filename.
GrayComunicacion=rgb2gray: convierte la imagen truecolor RGB en la imagen de intensidad de
escala de grises I. La función rgb2gray convierte las imágenes RGB en escala de grises eliminando
la información de matiz y saturación mientras conserva la luminancia.
Figure: crea una nueva ventana de figura mediante valores de propiedades predeterminados. La
figura resultante es la figura actual.
imshow(GrayComunicacion): muestra la imagen en escala de grises en una figura.

imhist(GrayComunicacion): muestra una gráfica del histograma. Si la imagen de entrada es una


imagen indexada, el histograma muestra la distribución de los valores de píxel por encima de una
barra de colores del mapa de colores.
imshow(Comunicacion): muestra la imagen en escala de grises en una figura.
Comunicacion=im2double: Convierta la imagen a doble precisión.
Umbral: convierte la imagen en escala de grises en imagen ... Este rango es relativo a los niveles de
señal posibles para la clase de la imagen.
Numpixels: La conectividad predeterminada es para imágenes 2D y para imágenes 3D. 8 26.

¿Qué hacen las funciones clc, clear all, close all, im2bw y bwreaopen?
Clc: este comando sirve para borra todo el texto de la ventana de comandos, lo que da
como resultado una pantalla limpia. Después de ejecutar clc, no puede usar la barra de
desplazamiento en la ventana de comandos para ver el texto mostrado anteriormente.
Clear all: Este comando sirve para eliminar todos los breakpoints que haya en el fichero.
Close all: Este comando cierra todas las ventanas gráficas abiertas.
im2bw: Convertir imagen a imagen binaria, basada en umbral.
Bwreaopen: Eliminar objetos pequeños de la imagen binario.

Cada estudiante debe realizar las 3 modificaciones del siguiente experimento modificando
el código anterior.

Imagen umbral Numpixels

1) 0.6 10000
2) 0.2 25000
3) 0.5 500

Imagen que se va a procesar


• Analice cada imagen obtenida en este ejercicio
Imagen 1 0.6 umbral 10000 Numpixels
Imagen 2 0.2 umbral 25000 Numpixels
Imagen 3 0.5 umbral 500 Numpixels
 Indique cual es la combinación de umbral y de Numpixel que segmenta mejor el dispositivo de
la imagen asignada (si el estudiante encuentra otra combinación, debe indicarla y mostrar la
imagen resultante)
La combinación de umbral y de Numpixel que mejor segmenta del dispositivo de la
imagen asignada es la de Umbral 0.6 y Numpixels 10000.
2. Cada estudiante debe averiguar cómo implementar el filtro para el ruido “sal y pimienta”
y el filtro para el ruido “Gaussiano”.
Posteriormente implementar el filtro correspondiente para la imagen en escala de gris de
la imagen que le ha sido asignada.

Nota: El código se debe adjuntar junto con las imágenes resultantes


Filtro para el ruido “sal y pimienta” a color
%Nombre: Albeiro Pedrozo
%Año: 2021
%Periodo: 2021 I PERIODO 16-01 (951)
%Semestre: 9 semestre
clc
clear all
close all
Comunicacion=imread('imagen1.jpg.jpg');
GrayComunicacion=rgb2gray(Comunicacion);
imruido1=imnoise(Comunicacion,'salt & pepper',0.05);
figure;
subplot (1,2,1),imshow(Comunicacion)
subplot (1,2,2),imshow(imruido1)
Filtro para el ruido “sal y pimienta” a escala de grisis

%Nombre: Albeiro Pedrozo


%Año: 2021
%Periodo: 2021 I PERIODO 16-01 (951)
%Semestre: 9 semestre
clc
clear all
close all
Comunicacion=imread('imagen1.jpg.jpg');
Comunicacion=rgb2gray(Comunicacion);
imruido1=imnoise(Comunicacion,'salt & pepper',0.05);
figure;
subplot (1,2,1),imshow(Comunicacion)
subplot (1,2,2),imshow(imruido1)
Filtro para el ruido “Gaussiano” a color.
%Nombre: Albeiro Pedrozo
%Año: 2021
%Periodo: 2021 I PERIODO 16-01 (951)
%Semestre: 9 semestre
clc
clear all
close all
Comunicacion=imread('imagen1.jpg.jpg');
GrayComunicacion=rgb2gray(Comunicacion);
imruido1=imnoise(Comunicacion,'gaussian');
figure;
subplot (1,2,1),imshow(Comunicacion)
subplot (1,2,2),imshow(imruido1)
Filtro para el ruido “Gaussiano” a escala de grisis.
%Nombre: Albeiro Pedrozo
%Año: 2021
%Periodo: 2021 I PERIODO 16-01 (951)
%Semestre: 9 semestre
clc
clear all
close all
Comunicacion=imread('imagen1.jpg.jpg');
Comunicacion=rgb2gray(Comunicacion);
imruido1=imnoise(Comunicacion,'gaussian');
figure;
subplot (1,2,1),imshow(Comunicacion)
subplot (1,2,2),imshow(imruido1)
3. Desarrolle el siguiente código en el script que creo en el punto 1. (Asegúrese de estar
trabajando en la carpeta que ya se ha creado).

Nota2: Para que el código sea válido, debe tener una línea con su nombre, año, periodo
académico y semestre actual que está cursando el estudiante (según plan de estudios).
%Nombre: Albeiro Pedrozo
%Año: 2021
%Periodo: 2021 I PERIODO 16-01 (951)
%Semestre: 9 semestre
clc
clear all
close all
Comunicacion=imread('imagen1.jpg.jpg');
figure;
imshow(Comunicacion)
GrayComunicacion=rgb2gray(Comunicacion);
figure;
imshow(GrayComunicacion)
BordesCanny=edge(GrayComunicacion,'Canny');
figure;
imshow(BordesCanny)
BordesSobel=edge(GrayComunicacion,'Sobel');
figure;
imshow(BordesSobel)

 Explique cada línea de comando.


Clc: este comando sirve para borra todo el texto de la ventana de comandos, lo que da como
resultado una pantalla limpia. Después de ejecutar clc, no puede usar la barra de desplazamiento en
la ventana de comandos para ver el texto mostrado anteriormente.
Clear all: Este comando sirve para eliminar todos los breakpoints que haya en el fichero.
Close all: Este comando cierra todas las ventanas gráficas abiertas.
Comunicacion=imread: lee la imagen del archivo especificado por filename.
GrayComunicacion=rgb2gray: convierte la imagen truecolor RGB en la imagen de intensidad de
escala de grises I. La función rgb2gray convierte las imágenes RGB en escala de grises eliminando
la información de matiz y saturación mientras conserva la luminancia.
Figure: crea una nueva ventana de figura mediante valores de propiedades predeterminados. La
figura resultante es la figura actual.
imshow(GrayComunicacion): muestra la imagen en escala de grises en una figura.
BordesCanny: El método de detección de bordes más potente que proporciona es el método
Canny.edge. El método Canny difiere de los otros métodos de detección de bordes en que utiliza
dos umbrales diferentes (para detectar bordes fuertes y débiles) e incluye los bordes débiles en la
salida solo si están conectados a bordes fuertes.

BordesSobel: Los métodos Sobel pueden detectar bordes en la dirección vertical, la dirección
horizontal o ambos.

• ¿Qué hacen las funciones canny y sobel?

El método Canny aplica dos umbrales al degradado: un umbral alto para la sensibilidad de borde


bajo y un umbral bajo para la sensibilidad de borde alta. Comienza con el resultado de baja
sensibilidad y luego lo crece para incluir píxeles de borde conectados del resultado de alta
sensibilidad.

Los métodos Sobel pueden detectar bordes en la dirección vertical, la dirección horizontal o ambos.
• Analice cada imagen obtenida en este ejercicio.
Método Bordes Canny
Método Bordes Sobel

4. Desarrolle el siguiente código en el Command Window de Matlab. (Asegúrese de estar


trabajando en la carpeta que ya se ha creado).

Nota2: Para que el código sea válido, debe tener una línea con su nombre, año, periodo
académico y semestre actual que está cursando el estudiante (según plan de estudios).
Código 1
%Nombre: Albeiro Pedrozo
%Año: 2021
%Periodo: 2021 I PERIODO 16-01 (951)
%Semestre: 9 semestre
se1=strel('line',3,4);
erosion1=imerode(BordesCanny,se1);
figure;
imshow(erosion1)
Còdigo 2
%Nombre: Albeiro Pedrozo
%Año: 2021
%Periodo: 2021 I PERIODO 16-01 (951)
%Semestre: 9 semestre
se2=strel('square',2);
erosion2=imerode(BordesCanny,se2);
figure;
imshow(erosion2)

 Explique cada línea de comando.

Strel: Un elemento de estructuración plana es una vecindad de valor binario, ya sea 2-D o
multidimensional, en la que los píxeles se incluyen en el cálculo morfológico y los píxeles
no.truefalse. El píxel central del elemento de estructuración, denominado, identifica el píxel de la
imagen que se está procesando. Origen Utilice la función (que se describe a continuación) para
crear un elemento de estructuración plana.strel Puede utilizar elementos de estructuración plana con
imágenes binarias y en escala de grises.
Erosion: elimina las islas y los objetos pequeños para que solo queden objetos sustantivos y
espande el fondo de la imagen.
Line: son una forma útil de comparar conjuntos de datos o rastrear cambios a través del tiempo.
Los datos se pueden representar en una vista 2D o 3D mediante una escala lineal o una escala
logarítmica. Igualmente, es posible representar expresiones o funciones sobre intervalos específicos.
Las funciones de trazado aceptan especificaciones de línea como argumentos y modifican el gráfico
generado en consecuencia.
Square: Generación y pre procesamiento de señales, generación de formas de ondas o puntos.
BordesCanny: El método de detección de bordes más potente que proporciona es el método
Cannyedge. El método Canny difiere de los otros métodos de detección de bordes en que utiliza dos
umbrales diferentes (para detectar bordes fuertes y débiles) e incluye los bordes débiles en la salida
solo si están conectados a bordes fuertes.
Figure: crea una nueva ventana de figura mediante valores de propiedades predeterminados. La
figura resultante es la figura actual.
Imshow: Mostrar una imagen en escala de grises, RGB (truecolor), indexada o binaria utilizando.

• ¿Qué diferencias encuentra entre el ejercicio a y b?


La diferencia que yo encuentro es que la imagen del primer ejercicio se da en líneas bien
definidas, donde se puede apreciar la imagen original en fondo negro y líneas blancas,
mientras que en el segundo ejercicio la imagen se da en puntos blancos con fondo negro y
no se puede apreciar la imagen original muy bien.
• Analice cada imagen obtenida en este ejercicio.
Código 1

Código 2
En las imágenes se aprecia que por medio de la erosión se eliminan pixeles de los objetos,
lo que se busca con la erosión de tipo morfológico es la eliminación de objetos aislados y
pequeños, con el fin de que sólo queden los objetos primordiales.

2.5. Teniendo en cuenta el código anterior, donde se utiliza la función morfológica de erosión,
el estudiante deberá investigar cómo implementar la función morfológica de “dilatación”,
con la dilatación en forma de cuadrado y tamaño 2 (‘suaqre’,2). Esta dilatación se debe
hacer para bordes sobel y bordes canny.
Nota: El código se debe adjuntar junto con las imágenes resultantes
%Nombre: Albeiro Pedrozo
%Año: 2021
%Periodo: 2021 I PERIODO 16-01 (951)
%Semestre: 9 semestre
se2=strel('square',2);
dilatacion2=imdilate(BordesCanny,se2);
figure;
imshow(dilatacion2), title('dilatacion')
figure;
imshow(BordesSobel), title('dilatacion Bordes Sobel')
figure;
imshow(BordesCanny),title('dilatacion Bordes Canny')

Dilatación

Bordes Sobel
Bordes Canny

También podría gustarte