Beruflich Dokumente
Kultur Dokumente
ASIGNATURA:
SISTEMAS DE VISIÓN ARTIFICIAL
TRABAJO:
PROBLEMAS Y PROYECTOS CAPÍTULOS 1 Y 2
ALUMNOS:
DENNIS ANGEL RAMOS ARIAS
QUINTANILLA CHAVEZ NICKOLAE
DOCENTE:
Ing. PEDRO RODRIGUEZ
HORARIO:
Lunes 17:00 a 18:30 hrs.
Arequipa – Perú
2019
Problemas y proyecto capítulo 1 del libro “Visión
Computacional”
1. ¿Qué es visión? ¿Que es procesamiento de imágenes? ¿Cuál es la diferencia entre
ambos?
Visión Artificial
EJEMPLO
>>a=imread(‘imagen.jpg’)
>>det_rectangulo=visión.CascadeObjectDetector(‘imagen.jpg’
Procesamiento de Imágenes
2. Da dos ejemplos de problemas que se pueden resolver utilizando procesamiento de
imágenes y dos que correspondan a visión.
Visión Artificial
Procesamiento de imágenes
Según el enunciado se tiene que S(w) = 0 cuando |w| > wm (está limitada en banda),
donde wm = 2π fm sería la máxima componente de frecuencia angular de s(t).
Gráficamente:
ws = 2πfs
= 1 TsS(w) ∗∑ n=−∞∞δ(w − nw s)
= 1 Ts ∑ n=−∞∞S(w) ∗ δ(w − nw s)
= 1 Ts ∑ n=−∞∞S(w − nw s).
El Teorema del Muestreo Uniforme indica que para que la señal s(t) sea recuperable a partir de
la señal ss(t) debe cumplirse que
ws ≥ 2wm.
4. Al digitalizar una imagen ¿qué tan “cerca” deben estar las muestras y porque? ¿Qué pasa
si no hay la suficiente resolución?
5. Considerando que cada pixel en una imagen se represente con 8 bits, y además se
transmite un bit de inicio y uno de fin por “paquete” (pixel), cuántos segundos se requieren
para transmitir una imagen de 1024 x 1024 pixels para una velocidad de transmisión de (a)
300 baud (bits por segundo), (b) 9600 baud, (c) 1 Mega baud.
b) 9600 baudios
T=10485760/9600= 1092,26 s
T=10485760/1000000=10,48 s
6. Repite el problema anterior para im´agenes a color, con 8 bits por banda, considerando
que cada pixel es un paquete.
T=8388608/300 = 27962,026 s
b) 9600 baudios
T=8388608/9600= 873,81 s
T=8388608/1000000=8,39 s
>>[1 2 3 4 5; 6 0 2 3 8; 55 22 13 65 90]
1 2 3 4 5
6 0 2 3 8
55 22 13 65 90
• hexagonal.
>> [0 0 0 1 0 0 0 ; 0 0 1 1 1 0 0 ; 0 1 1 1 1 1 0; 0 0 1 1 1 0 0 ; 0 0 0 1 0 0 0]
00010 00
00111 00
011111 0
00111 00
0001000
Ejemplo:
Teoría computacional - El objetivo del proceso computacional, sus metas y las estrategias
2.- El algoritmo que usaremos es el tracking u algoritmo para identificar patrones de los
objetivos en movimiento, según su forma y color
9. Describe los tres principales niveles de visión. Especifica las entradas y salidas a cada nivel,
como la información adicional que se requiera en cada uno.
10. Un proceso computacional lo podemos considerar desde tres puntos de vista: teoría
computacional, algoritmo e implementación. Describe el proceso general de visión desde los
tres aspectos.
1. Instala y prueba el “laboratorio de visión” en tu computadora. Prueba cargar y desplegar
>> imshow(f)
>> g=rgb2gray(f);
>> imshow(g)
Color blanco y negro:
>> g=im2bw(f);
>> imshow(g)
>> imshow(g)
>> g=rgb2gray(f);
>> imshow(h)
>> imshow(h)
>> h=imadjust(g, [0.5 0.75], [0 1],0.2);
>> imshow(h)
Capítulo 2
1. Una forma de transformación es obtener una imagen por cada “bit” del valor del pixel
en binario. Suponiendo cada pixel representado por un byte (8 bits), se tendrían 8
“planos” que representarían a la imagen a diferentes niveles de detalle. Definir la
función de transformación para obtener estas imágenes de salida.
2|
𝑇(𝑥, 𝑦) = 𝑒 −|(128/2𝜋𝜎
Al ser una imagen binaria solo tenemos 2 contrastes, entonces para el borde lleno de
0’s se los dejó sin contraste.
9. Comenta que pasa en el límite al aplicar repetidamente un filtro pasa bajos espacial
de 3 x 3 a una imagen (puedes despreciar el efecto de las orillas de la imagen).
Los filtros pasa-baja atenúan las componentes de medias-bajas frecuencias y dejan
intactas las bajas en función de la frecuencia de corte que se elija. Se usan para eliminar
ruido de alta frecuencia, o eliminar todo lo que no sean variaciones suaves de nivel de
gris. Entonces al aplicar repetidas veces filtro pasa bajos la imagen se vuelve más
grisácea.
II. PROYECTOS
Los siguientes proyectos fueron realizados en MatLab.
Sintaxis
B = imgaussfilt(A)
B = imgaussfilt(A,sigma)
B = imgaussfilt(___,Name,Value,...)
gpuarrayB = imgaussfilt(gpuarrayA,___)
Descripción
B = imgaussfilt(A) filtra la imagen A con un kernel alisador 2-D de Gauss con desviación
estándar de 0,5. Devuelve B, la imagen filtrada.
Ejemplos
Iblur = imgaussfilt(I, 2); //Filtrar la imagen con un filtro de Gauss con desviación
estándar de 2.
Sintaxis
I = rgb2gray(RGB)
newmap = rgb2gray(map)
Descripción
I = rgb2gray(RGB) 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. Si tiene instalado Parallel
Computing Toolbox™ , rgb2gray puede realizar esta conversión en una GPU.
Ejemplos
RGB = imread('peppers.png');
imshow(RGB)
//Lea el archivo de ejemplo, peppers.pngy muestre la imagen RGB.
I = rgb2gray(RGB);
figure
imshow(I)
//Convertir la imagen RGB en una imagen en escala de grises y mostrarla.
Sintaxis
J = imadjust(I)
J = imadjust(I,[low_in high_in],[low_out high_out])
J = imadjust(I,[low_in high_in],[low_out high_out],gamma)
newmap = imadjust(map,___)
RGB2 = imadjust(RGB,___)
gpuarrayB = imadjust(gpuarrayA,___)
Descripción
J = imadjust(I) asigna los valores de intensidad de la imagen en escala de grises I a nuevos
valores en J. De forma predeterminada, imadjust satura el 1% inferior y el 1% superior de todos
los valores de píxel. Esta operación aumenta el contraste de la imagen de salida J. Esta sintaxis
equivale a imadjust(I,stretchlim(I)).
newmap = imadjust(map,___) ajusta el array m-por-3 colores asociado a una imagen indexada.
Puede aplicar la misma asignación a cada canal del colores o especificar asignaciones únicas
para cada canal.
RGB2 = imadjust(RGB,___) realiza el ajuste en cada plano (rojo, verde, y azul) del RGBde la
imagen de la intensidad del RGB. Puede aplicar la misma asignación a los componentes rojo,
verde y azul de la imagen o especificar asignaciones únicas para cada componente de color.
Ejemplos
I = imread('pout.tif'); imshow(I)
//leer la imagen
J = imadjust(I); figure imshow(J)
//Ajuste el contraste de la imagen para que el 1% de los datos se satura a intensidades bajas y
altas, y se muestra.
RGB = imread('football.jpg'); imshow(RGB)
//Leer una imagen RGB en el espacio de trabajo y mostrarla.
RGB2 = imadjust(RGB,[.2 .3 0; .6 .7 1],[]); figure imshow(RGB2)
//Ajuste el contraste de la imagen RGB, especificando límites de contraste.