Trace una línea a lo largo de 2 puntos en MATLAB

Nuestro objetivo es trazar una línea a lo largo de 2 puntos en MATLAB sin utilizar funciones integradas para el trazado. Una imagen en blanco y negro se puede representar como una array de 2 orden. El primer orden es para las filas y el segundo orden es para las columnas, el valor del píxel determinará el color del píxel en función del formato de color de la escala de grises.

Acercarse :

  • Nos dan 2 puntos. Sean las coordenadas de los puntos (x1, y1) y (x2, y2).
  • Encontramos la pendiente de estos 2 puntos y la almacenamos en m.
    m = (y2-y1)/(x2-x1);
  • Ahora, para cada píxel, encuentre la pendiente entre el píxel y uno de los puntos.
    m2 = (y2-j)/(x2-i);
  • Si la pendiente obtenida es igual a la pendiente de los puntos, cambie el color a negro (0).

Implementación:

% MATLAB code to plot line through 2 points
  
% create a white image of size 400X400
im = uint8(zeros(400, 400)) + 255;
  
% coordinates of point 1 
x1 = 100;
y1 = 100;
  
% coordinates of point 2
x2 = 200;
y2 = 200;
  
% slope of points 1 and 2
m = (y2-y1)/(x2-x1);
  
% accessing every pixel
for i = 1:400
    for j = 1:400
        m2 = (y2-j)/(x2-i);
        if m == m2
            im(i, j) = 0;
        end
    end 
end
  
% display the image
imshow(im);

Producción :

Publicación traducida automáticamente

Artículo escrito por Yash_R y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *