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