Red de conocimiento informático - Material del sitio web - 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.

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.

Buscar segmentos de línea en la imagen

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');