0% encontró este documento útil (0 votos)
47 vistas26 páginas

Informe Proyecto 8

El informe presenta un análisis sobre el uso de técnicas de procesamiento digital de imágenes, incluyendo transformaciones morfológicas, técnicas de luz y color, transformaciones geométricas y detección de contornos. Se realizarán simulaciones en Matlab para evaluar y comparar los resultados obtenidos de cada técnica aplicada a una imagen específica. El objetivo final es proponer la mejor solución basada en las simulaciones realizadas.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
47 vistas26 páginas

Informe Proyecto 8

El informe presenta un análisis sobre el uso de técnicas de procesamiento digital de imágenes, incluyendo transformaciones morfológicas, técnicas de luz y color, transformaciones geométricas y detección de contornos. Se realizarán simulaciones en Matlab para evaluar y comparar los resultados obtenidos de cada técnica aplicada a una imagen específica. El objetivo final es proponer la mejor solución basada en las simulaciones realizadas.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

UNIVERSIDAD TECNOLÓGICA DEL PERÚ

Trabajo de investigación

PROYECTO PDI

Informe que como parte del curso de Procesamiento digital de imágenes y visión
arterial presentan los alumnos

ACUÑA HURTADO, ELMER ALESANDER

TASAYCO CORDOVA, JUAN DIEGO

PEREZ CAMPOS, JOSE FERNANDO

GUSTAVO CUADROS ANGELES

GONZALES SALAS JENNIFFER CRISTINA

Lima, 2022
Contenido
RESUMEN ................................................................................................................................... 4
INTRODUCCIÓN ....................................................................................................................... 5
1. LOGROS Y OBJETIVOS .................................................................................................. 6
1.1. Logro general ............................................................................................................. 6
1.2. Objetivo ...................................................................................................................... 6
1.3. Materiales y equipos .................................................................................................. 6
1.4. Problemática............................................................................................................... 6
2. DESARROLLO DE LA SOLUCION................................................................................ 7
2.1. Transformaciones morfológicas: .......................................................................... 7
2.2. Técnica de luz, color e iluminación: ................................................................... 13
2.3. Transformaciones geométricas: ......................................................................... 17
2.4. Técnicas de detección de contornos: .................................................................. 21
2.5. Transformada Hough: ........................................................................................ 23
BIBLIOGRAFIA ....................................................................................................................... 26

2
Tabla de ilustraciones
Ilustración 1: Programación con operación morfológica tipo diamante ........................... 7
Ilustración 2: Simulación morfológica tipo diamante ...................................................... 8
Ilustración 3: Programación con operación morfológica tipo disco ................................. 8
Ilustración 4: Simulación morfológica tipo disco ............................................................. 9
Ilustración 5: Programación con operación morfológica tipo lineal ................................ 9
Ilustración 6: Simulación morfológica tipo lineal .......................................................... 10
Ilustración 7: Programación con operación morfológica tipo rectángulo ...................... 10
Ilustración 8:Simulación morfológica tipo rectángulo ................................................... 11
Ilustración 9: Programación con operación morfológica tipo cuadrado ......................... 11
Ilustración 10:Simulación morfológica tipo cuadrado ................................................... 12
Ilustración 11: Imagen original ....................................................................................... 12
Ilustración 12: Programación técnicas de luz, color e iluminación ................................ 14
Ilustración 13: Simulación resolución de imagen ........................................................... 14
Ilustración 14: Simulación capas en grises ..................................................................... 15
Ilustración 15: Simulación capas en umbrales................................................................ 15
Ilustración 16: Simulación resolución de grayslice ....................................................... 16
Ilustración 17: Simulación de RGB a HSV .................................................................... 16
Ilustración 18: Programación transformaciones geométricas reflexión ......................... 17
Ilustración 19: Simulación de RGB y Gris ..................................................................... 17
Ilustración 20: Simulación de reflexión .......................................................................... 18
Ilustración 21: Programación transformaciones geométricas rotación y traslación ....... 19
Ilustración 22: Simulación de rotación y traslación ....................................................... 20
Ilustración 23: Simulación de transformación ................................................................ 20
Ilustración 24:Programación de detección de contornos ................................................ 21
Ilustración 25: Simulación Roberts, Gaussiano y Zerocross .......................................... 22
Ilustración 26: Simulación Sobel, vertical y horizontal.................................................. 22
Ilustración 27: Simulacion Sobel, Prewilt y Canny ........................................................ 23
Ilustración 28: Programación de detección de Hough recta ........................................... 24
Ilustración 29: Simulación de transformada Hough ....................................................... 24
Ilustración 30: Programación de detección de Hough circular ....................................... 25
Ilustración 31: Simulación de transformada de Hough circular ..................................... 25

3
RESUMEN

En el presente informe se analizará y se desarrollará como podemos emplear técnicas

para la manipulación de imágenes, para eso se realizará una retroalimentación de

información y cálculos.

Se comenzará aplicando las transformaciones morfológicas, también se usarán las

técnicas de luz, color, iluminación, transformaciones geométricas, técnica de detección

de contornos, técnica de suavizado de imágenes y transformada Hough. Todas estas

técnicas serán utilizadas con el fin de proponer una solución de acuerdo con la imagen

que se tiene que analizar. El análisis contara con la simulación de cada tema empleado y

se adjuntara las imágenes obtenidas para ser tomadas como referencia, sustentación y

comparación del mejor resultado obtenido.

Para finalizar, se propondrá la mejor solución obtenida de acuerdo con las simulaciones

empleadas con el software en Matlab.

4
INTRODUCCIÓN

El presente trabajo, explica el análisis de la mejor solución, utilizando una numerosa

gama de comandos. El PDI mejora el control de calidad de un proceso, como la captura

o adquisición, preprocesamiento, segmentación, descripción, reconocimiento e

interpretación.

Para analizar la situación problemática, será necesario mencionar como implementar las

transformadas morfológicas, también se usarán las técnicas de luz, color, iluminación,

transformaciones geométricas, técnica de detección de contornos, técnica de suavizado

de imágenes y transformada Hough. Se realiza el análisis para un mejor alcance, mejorar

la calidad visual de las imágenes, esto da una gran facilidad en una amplia gama de áreas

donde el PDI se utiliza de manera rutinaria.

Para ello se debe tener claro el concepto, conocer los componentes principales, las

clasificaciones, para poder lograr un buen análisis y hacer la programación respectiva

para una buena simulación.

5
1. LOGROS Y OBJETIVOS

1.1. Logro general

Se realizará las simulaciones de todos los temas solicitados, así mismo con su análisis.

1.2. Objetivo

• Obtener una solución con la imagen asignada


• Diseñar la programación de cada tema solicitado y su simulación

1.3. Materiales y equipos

• PC
• Software Matlab

1.4. Problemática

Identificar los objetos mas resaltantes de la imagen, junto a los trazos que se pueden
realizar, colores y formas que se pueden destacar. Para tener un mejor análisis y obtener
información mas relevante.

6
2. DESARROLLO DE LA SOLUCION

2.1. Transformaciones morfológicas:


Aplica un elemento de estructuración a una imagen de entrada, también crea una imagen
de salida del mismo tamaño.

Se utilizarán las operaciones morfológicas; existen varios tipos:

Comenzaremos con el diamante:

%Transformacion morfologica
clc
clear all
close all
I=imread('Figura8.jpg');
Ig=rgb2gray(I);

s=strel('diamond',3);
% s=strel('disk',3); % DISCO DE RADIO
% s=strel('line',7,45); % LINEA DE LONGITUD Y ANGULO
% s=strel('rectangle',[7,4]); %
% s=strel('square',5); % CUADRO 10*10
% s=strel('ball',15,5); % BOLA DE RADIO Y ALTO

fdil=imdilate(Ig,s); %DILATACION
fero=imerode(Ig,s); %EROSION
fo=imopen(Ig,s); %APERTURA
fc=imclose(Ig,s); %CIERRE

figure;
imshow(Ig)
figure;
subplot(2,2,1);imshow(fdil),title('DILATACION')
subplot(2,2,2);imshow(fero),title('EROSION')
subplot(2,2,3);imshow(fo),title('APERTURA')
subplot(2,2,4);imshow(fc),title('CLAUSURA')

Ilustración 1: Programación con operación morfológica tipo diamante

7
Ilustración 2: Simulación morfológica tipo diamante

Continuamos con el disco:

%Transformacion morfologica
clc
clear all
close all
I=imread('Figura8.jpg');
Ig=rgb2gray(I);

% s=strel('diamond',3);
s=strel('disk',3); % DISCO DE RADIO
% s=strel('line',7,45); % LINEA DE LONGITUD Y ANGULO
% s=strel('rectangle',[7,4]); %
% s=strel('square',5); % CUADRO 10*10
% s=strel('ball',15,5); % BOLA DE RADIO Y ALTO

fdil=imdilate(Ig,s); %DILATACION
fero=imerode(Ig,s); %EROSION
fo=imopen(Ig,s); %APERTURA
fc=imclose(Ig,s); %CIERRE

figure;
imshow(Ig)
figure;
subplot(2,2,1);imshow(fdil),title('DILATACION')
subplot(2,2,2);imshow(fero),title('EROSION')
subplot(2,2,3);imshow(fo),title('APERTURA')
subplot(2,2,4);imshow(fc),title('CLAUSURA')

Ilustración 3: Programación con operación morfológica tipo disco

8
Ilustración 4: Simulación morfológica tipo disco

Luego el parámetro lineal:

%Transformacion morfologica
clc
clear all
close all
I=imread('Figura8.jpg');
Ig=rgb2gray(I);

% s=strel('diamond',3);
% s=strel('disk',3); % DISCO DE RADIO
s=strel('line',7,45); % LINEA DE LONGITUD Y ANGULO
% s=strel('rectangle',[7,4]); %
% s=strel('square',5); % CUADRO 10*10
% s=strel('ball',15,5); % BOLA DE RADIO Y ALTO

fdil=imdilate(Ig,s); %DILATACION
fero=imerode(Ig,s); %EROSION
fo=imopen(Ig,s); %APERTURA
fc=imclose(Ig,s); %CIERRE

figure;
imshow(Ig)
figure;
subplot(2,2,1);imshow(fdil),title('DILATACION')
subplot(2,2,2);imshow(fero),title('EROSION')
subplot(2,2,3);imshow(fo),title('APERTURA')
subplot(2,2,4);imshow(fc),title('CLAUSURA')

Ilustración 5: Programación con operación morfológica tipo lineal

9
Ilustración 6: Simulación morfológica tipo lineal

Para luego el parámetro rectángulo:

%Transformacion morfologica
clc
clear all
close all
I=imread('Figura8.jpg');
Ig=rgb2gray(I);

% s=strel('diamond',3);
% s=strel('disk',3); % DISCO DE RADIO
% s=strel('line',7,45); % LINEA DE LONGITUD Y ANGULO
s=strel('rectangle',[7,4]); %
% s=strel('square',5); % CUADRO 10*10
% s=strel('ball',15,5); % BOLA DE RADIO Y ALTO

fdil=imdilate(Ig,s); %DILATACION
fero=imerode(Ig,s); %EROSION
fo=imopen(Ig,s); %APERTURA
fc=imclose(Ig,s); %CIERRE

figure;
imshow(Ig)
figure;
subplot(2,2,1);imshow(fdil),title('DILATACION')
subplot(2,2,2);imshow(fero),title('EROSION')
subplot(2,2,3);imshow(fo),title('APERTURA')
subplot(2,2,4);imshow(fc),title('CLAUSURA')

Ilustración 7: Programación con operación morfológica tipo rectángulo

10
Ilustración 8:Simulación morfológica tipo rectángulo

Para terminar el parámetro cuadrado:

%Transformacion morfologica
clc
clear all
close all
I=imread('Figura8.jpg');
Ig=rgb2gray(I);

% s=strel('diamond',3);
% s=strel('disk',3); % DISCO DE RADIO
% s=strel('line',7,45); % LINEA DE LONGITUD Y ANGULO
% s=strel('rectangle',[7,4]); %
s=strel('square',5); % CUADRO 10*10
% s=strel('ball',15,5); % BOLA DE RADIO Y ALTO

fdil=imdilate(Ig,s); %DILATACION
fero=imerode(Ig,s); %EROSION
fo=imopen(Ig,s); %APERTURA
fc=imclose(Ig,s); %CIERRE

figure;
imshow(Ig)
figure;
subplot(2,2,1);imshow(fdil),title('DILATACION')
subplot(2,2,2);imshow(fero),title('EROSION')
subplot(2,2,3);imshow(fo),title('APERTURA')
subplot(2,2,4);imshow(fc),title('CLAUSURA')

Ilustración 9: Programación con operación morfológica tipo cuadrado

11
Ilustración 10:Simulación morfológica tipo cuadrado

Imagen original:

Ilustración 11: Imagen original

Conclusión:

Podemos visualizar, que la diferencia entre las diferentes aplicaciones de las


transformaciones morfológicas, en la imagen que se presente, son muy idénticas, tales
por el cual no se nota mucho la diferencia; por otro lado, se puede reconocer que se
pueden extraer valores atípicos de la imagen, a su vez agregarle pixeles a la imagen y por
lo general crea un elemento estructurante que tiene la misma forma que el original.

12
2.2. Técnica de luz, color e iluminación:
%TECNICAS DE LUZ, COLOR E ILUMINACION
clc
clear all
close all

b = imread('Figura8.jpg');

x1 = imresize(b,0.1); %Escala baja resolucion


x2 = imresize(b,0.2);
x3 = imresize(b,0.3);
x4 = imresize(b,0.4);
x5 = imresize(b,0.5);
x6 = imresize(b,0.6);
x7 = imresize(b,0.7);
x8 = imresize(b,0.8);
x9 = imresize(b,0.9); %Escala alta resolucion
figure(1)
subplot(3,3,1); imshow(x1);title('Resolucion 0.1');
subplot(3,3,2); imshow(x2);title('Resolucion 0.2');
subplot(3,3,3); imshow(x3);title('Resolucion 0.3');
subplot(3,3,4); imshow(x4);title('Resolucion 0.4');
subplot(3,3,5); imshow(x5);title('Resolucion 0.5');
subplot(3,3,6); imshow(x6);title('Resolucion 0.6');
subplot(3,3,7); imshow(x7);title('Resolucion 0.7');
subplot(3,3,8); imshow(x8);title('Resolucion 0.8');
subplot(3,3,9); imshow(x9);title('Resolucion 0.9');
sgtitle('Resolucion de imagen')

%UMBRALIZACION
b1 = b(:,:,1); %Gris para capa roja (R)
b2 = b(:,:,2); %Gris para capa verde (G)
b3 = b(:,:,3); %Gris para capa azul (B)
figure(2)
subplot(1,3,1); imshow(b1);title('Capa roja');
subplot(1,3,2); imshow(b2);title('Capa verde');
subplot(1,3,3); imshow(b3);title('Capa azul');
sgtitle('Capas en grises')

%UMBRALIZACION VALORES ENTRE 0-255


bu1 = b1 < 20;
bu2 = b1 < 50;
bu3 = b1 < 80;
bu4 = b1 < 110;
bu5 = b1 < 160;
bu6 = b1 < 230;
figure(3)
subplot(3,2,1); imshow(bu1);title('Umbral <20');
subplot(3,2,2); imshow(bu2);title('Umbral <50');
subplot(3,2,3); imshow(bu3);title('Umbral <80');
subplot(3,2,4); imshow(bu4);title('Umbral <110');
subplot(3,2,5); imshow(bu5);title('Umbral <160');
subplot(3,2,6); imshow(bu6);title('Umbral <230');
sgtitle('Umbrales')

%ESCALA DE GRISES
x1 = grayslice(b,10);
x2 = grayslice(b,20);
x3 = grayslice(b,30);
x4 = grayslice(b,40);
x5 = grayslice(b,50);
x6 = grayslice(b,60);
x7 = grayslice(b,70);
x8 = grayslice(b,80);
x9 = grayslice(b,90);
x10 = grayslice(b,100);

13
x11 = grayslice(b,110);
x12 = grayslice(b,254);

figure(4)
subplot(3,4,1);imshow(x1);
subplot(3,4,2);imshow(x2);
subplot(3,4,3);imshow(x3);
subplot(3,4,4);imshow(x4);
subplot(3,4,5);imshow(x5);
subplot(3,4,6);imshow(x6);
subplot(3,4,7);imshow(x7);
subplot(3,4,8);imshow(x8);
subplot(3,4,9);imshow(x9);
subplot(3,4,10);imshow(x10);
subplot(3,4,11);imshow(x11);
subplot(3,4,12);imshow(x12);
sgtitle('grayslice')

%CAMBIAR TIPO DE IMAGEN


h = rgb2hsv(b); %Cambiar de RGB a HSV
t1 = h(:,:,1)*1.5;
new = mod(t1,1);
nuevo = cat(3,new,h(:,:,2),h(:,:,3));
new2 = hsv2rgb(nuevo);
imshow(new2)

figure(5)
subplot(1,2,1); imshow(b); title('RGB');
subplot(1,2,2); imshow(new2); title('HSV');
sgtitle('De RGB a HSV')

Ilustración 12: Programación técnicas de luz, color e iluminación

Ilustración 13: Simulación resolución de imagen

14
Ilustración 14: Simulación capas en grises

Ilustración 15: Simulación capas en umbrales

15
Ilustración 16: Simulación resolución de grayslice

Ilustración 17: Simulación de RGB a HSV

Conclusión:

Se puede concluir que al simular los enfoques podemos tener una mejor resolución para
poder observar la imagen y tener una mejor información. También se puede resaltar que
al simular el umbral en 110 da un mejor detalle de algunos objetos y la simulación de
RGB a HSV nos ayuda a diferenciar y tener un mayor contraste, ayudando a diferencia
todos los objetos.

16
2.3. Transformaciones geométricas:
%TRANSFORACIONES GEOMETRICAS REFLEXION
clc, clear, close all;
I=imread('Figura8.jpg');
Igris=rgb2gray(I);
figure(1)
subplot (2,1,1), imshow(I), title('Imagen Original RGB');
subplot (2,1,2), imshow(Igris), title('Imagen Gris');

[N,M]=size(Igris) %M=259 N=194

Irfx=uint8(zeros(194,259));

%Reflexión
for cx=1:194
for cy=1:259
M=[1 0; 0 -1];
%M=[-1 0; 0 1];
T= [0; 260];
%T= [2393; 0];
cp= M*[cx;cy]+T;
cxp=cp(1); cyp=cp(2);
Irfx(cxp,cyp)=Igris(cx,cy);
end
end

figure(2)
subplot (2,1,1), imshow(Igris), title('Imagen Gris');
subplot (2,1,2), imshow(Irfx), title('Transformación de Reflexión');
axis on
imtool(Irfx)

Ilustración 18: Programación transformaciones geométricas reflexión

Ilustración 19: Simulación de RGB y Gris

17
Ilustración 20: Simulación de reflexión

%TRANSFORMACIONES GEOMETRICAS ROTACION Y TRASLACION


clc, clear, close all;
%Preprocesado
I=imread('Figura8.jpg');
imwrite(I,'Figura8.bmp');
b=imread('Figura8.bmp');
K=rgb2gray(b);
imwrite(K,'Figura8_gris.bmp');
[X,mp]=imread('Figura8_gris.bmp');
figure(1)
imshow(X,mp)
axis on
title('Imagen Original');
[N,M]=size(X)
% % %disp('Presionar Enter..');
% %
% % %Traslación
Y=zeros(N,M);
i0=-100; %-60
j0=-15;%-126
for i=1:N
for j=1:M
ip=fix(i+i0);
jp=fix(j+j0);
if(jp>=1)& (jp<=M)& (ip>=1) & (ip<=N)
Y(i,j)=X(ip,jp);
end
end
end
figure (2)
imshow(Y,mp)
axis on
title(sprintf('Imagen con traslación en (%d,%d)',-i0,j0))
% % % % %disp('Presionar Enter..');
% %
% % Rotación
Y=zeros(N,M);
th=-30*pi/180; %rad
for i=1:N

18
for j=1:M
m=[cos(th) sin(th); -sin(th) cos(th)]*[i j]';
ip=fix(m(1)+0.5);
jp=fix(m(2)+0.5);
if(jp>=1)& (jp<=M)& (ip>=1) & (ip<=N)
Y(i,j)=X(ip,jp);
end
end
end
figure(3)
imshow(Y,mp)
axis on
title(sprintf('Imagen con rotación en (%8.1f)',th*180/pi))
% %
% %
% % %% Rotación y traslación
Y=zeros(N,M);
th=30*pi/180;
i0=128; %-60
j0=128;%-126
for i=1:N
for j=1:M
m=[cos(th) sin(th); -sin(th) cos(th)]*[i-i0 j-j0]'+[i0 j0]';
ip=fix(m(1)+0.5);
jp=fix(m(2)+0.5);
if(jp>=1)& (jp<=M)& (ip>=1) & (ip<=N)
Y(i,j)=X(ip,jp);
end
end
end
figure(4)
%imshow(Y)
imshow(Y,mp)
axis on
title(sprintf('Imagen con rotación en %8.1f y traslación
(%d,%d)',th*180/pi,i0,j0))
% % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%55
P = imread('Figura8.bmp');
tform = maketform('affine',[1 0 0; .5 1 0; 0 0 1]);
J = imtransform(I,tform);

figure(5)
subplot (2,1,1), imshow(P), title('Imagen Original');
subplot (2,1,2), imshow(J), title('Transformación');

Ilustración 21: Programación transformaciones geométricas rotación y traslación

19
Ilustración 22: Simulación de rotación y traslación

Ilustración 23: Simulación de transformación

Conclusión:
Se concluye que usando las transformaciones geométricas podemos tener una mejor
vista, ya que realizamos la traslación, rotación y reflexión de la imagen a analizar, ya sea
para posicionar mejor la imagen o solo observar lo principal.

20
2.4. Técnicas de detección de contornos:
%% Técnicas de detección de contornos
%Roberts,Laplaciano y Gaussiano
clc
clear all
close all
im=imread('Figura8.jpg');
im1=rgb2gray(im);
b1=edge(im1,'roberts');
b2=edge(im1,'log');
b3=edge(im1,'zerocross');
subplot(2,2,1);imshow(im1);title('Imagen Original');
subplot(2,2,2);imshow(b1);title('Roberts');
subplot(2,2,3);imshow(b2);title('Laplaciano de Gaussiano');
subplot(2,2,4);imshow(b3);title('Zerocross');

%% sobel
clc
clear all
close all
im=imread('Figura8.jpg');
im1=rgb2gray(im);
b1=edge(im1,'sobel','vertical');
b2=edge(im1,'sobel','horizontal');
b3=edge(im1,'sobel');
subplot(2,2,1);imshow(im1);title('Imagen Original');
subplot(2,2,2);imshow(b1);title('Sobel vertical');
subplot(2,2,3);imshow(b2);title('Sobel Horizontal');
subplot(2,2,4);imshow(b3);title('Sobel');

%% sobel,prewitt,canny
clc
clear all
close all
im=imread('Figura8.jpg');
im1=rgb2gray(im);
b1=edge(im1,'sobel');
b2=edge(im1,'prewitt');
b3=edge(im1,'canny');
subplot(2,2,1);imshow(im1);title('Imagen Original');
subplot(2,2,2);imshow(b1);title('Sobel');
subplot(2,2,3);imshow(b2);title('Prewitt');
subplot(2,2,4);imshow(b3);title('Canny');

Ilustración 24:Programación de detección de contornos

21
Ilustración 25: Simulación Roberts, Gaussiano y Zerocross

Ilustración 26: Simulación Sobel, vertical y horizontal

22
Ilustración 27: Simulacion Sobel, Prewilt y Canny

Conclusión:
Luego de utilizar varias técnicas de contorno, se recomienda el uso del operador “canny”,
ya que se obtiene todos los contornos completos y bien definidos, el cual sobresale con
respecto a las otras técnicas.

2.5. Transformada Hough:


%TRANSFORMADA HOUGH RECTA
clc, clear, close all;
Im=imread('Figura8.jpg');
I=rgb2gray(Im);

rotI=imrotate(I,-10,'crop');

% Contorno Canny
BW=edge(rotI, 'canny');
imshow(BW)

[H,T,R]=hough(BW);
figure(1)
imshow(H,[],'XData', T,'YData', R, 'InitialMagnification','fit');
xlabel('\theta'), ylabel('\rho');
axis on, axis normal, hold on;

P=houghpeaks(H,6,'threshold', ceil(0.9*max(H(:))));
x=T(P(:,2));
y=R(P(:,1));
plot(x,y,'s','color','white');

%Plotea lineas
lines=houghlines(BW,T,R,P,'FillGap',5,'MinLength',7);
figure(2)
subplot(2,1,1), imshow(rotI)
subplot(2,1,2), imshow(BW), hold on

%Plotea el inicio y fin de las líneas

23
max_len=0;
for k=1:length(lines)
xy=[lines(k).point1;lines(k).point2];
plot(xy(:,1),xy(:,2),'LineWidth',2,'Color','green');
plot(xy(1,1),xy(1,2),'x','LineWidth',2,'Color','yellow');
plot(xy(2,1),xy(2,2),'x','LineWidth',2,'Color','red');
%DEtermina los puntos finales del segmento de linea
len=norm(lines(k).point1-lines(k).point2);
if (len>max_len)
max_len=len;
xy_long=xy;
end
end
%figure(3)
plot(xy_long(:,1),xy_long(:,2),'LineWidth',2,'Color','blue');

Ilustración 28: Programación de detección de Hough recta

Ilustración 29: Simulación de transformada Hough

24
%TRANSFORMADA HOUGH CIRCULAR
clc, clear, close all;
%warning off
x=imread('Figura8.jpg');;
b=rgb2gray(x);
b1=imbinarize(b,0.3);
imshow(b1)
figure(1)
imshow(x);
d=imdistline;
[centers, radii]=imfindcircles(b,[25 80]);%[5 250] % [5 10][20 30]
%[centers, radii]=imfindcircles(b1,[30 40]);%[5 250] % [5 10][20 30]
imshow(b1);
hold on;viscircles(centers, radii,'Edgecolor','b');

Ilustración 30: Programación de detección de Hough circular

Ilustración 31: Simulación de transformada de Hough circular

Conclusión:
Al realiza la simulación de la transformada de Hough recta y circular, se puede analizar
que en la recta se encuentra los segmentos de línea correspondiente, en cambio al simular
la transformada circular, no es posible encontrar alguna circunferencia, dejando
descartado este método aplicado. La transformada a usar es la Hough recta.

25
BIBLIOGRAFIA

[1] PAJARES GONZALO Y DE LA CRUZ JESÚS (2012). “Visión por


computador.Imágenes Digitales y aplicaciones”.
[2] Jain Anil (2010). Fundamentals of Digital Image Processing.
[3] Iván García Santillán (2008). Vision Artificial y Procesamiento Digital de Imagenes
usando Matlab.
[4] Fu K. S, González R. C. y Lee C. S. G (2010). Robótica, Control, Detección, Visión
e inteligencia.

26

También podría gustarte