📜  在MATLAB中沿2点绘制一条线

📅  最后修改于: 2021-04-16 03:22:12             🧑  作者: Mango

我们的目标是在MATLAB中沿2个点绘制一条线,而无需使用内置函数进行绘制。黑白图像可以表示为2阶矩阵。一阶用于行,二阶用于列,像素值将基于灰度颜色格式确定像素的颜色。

方法 :

  • 我们给了2分。设点的坐标为(x1,y1)和(x2,y2)。
  • 我们找到这两个点的斜率并将其存储在m中。
    m = (y2-y1)/(x2-x1);
  • 现在,对于每个像素,找到像素与该点之一之间的斜率。
    m2 = (y2-j)/(x2-i);
  • 如果获得的斜率等于点的斜率,则将颜色更改为黑色(0)。

执行:

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

输出 :