Cómo detectar las 4 líneas rectas en la imagen de abajo y encontrar su intersección usando mínimos cuadrados o transformación HOUGH. Consulte el código de Matlab.
I = imread('circuit.tif');
rotI = imrotate(I,33,'crop');
BW = borde(rotI,'canny');
[H,T,R] = hough(BW);
imshow(H,[],'XData' ,T ,'YData',R,...);
'InitialMagnification','R,...
'InitialMagnification','fit'); >
xlabel('\theta'), ylabel('\rho');
eje en, eje normal, espera
P = houghpeaks(H,. .. 5,'umbral',ceil(0.3*max(H(:)))));
x = T(P(:,2)); 1) );
plot(x,y,'s','color','white');
% Encuentra líneas y dibújalas
líneas = líneas duras (BW,T,R,P,'FillGap',5,'MinLength',7);
figura, imshow(rotI), espera
max_len = 0;
para k = 1.línea)
xy = [líneas(k).punto1; líneas(k).punto2];
trama( xy(: ,1),xy(:,2),'LineWidth',2,'Color','green');
% Dibuja el punto inicial y el punto final de la intersección de la línea recta
plot( xy(1,1),xy(1,2),'x','LineWidth',2,'Color','amarillo');
plot( xy(2,1),xy (2,2),'x','LineWidth',2,'Color','rojo');