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 :