我们的目标是在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);
输出 :