% 画出直线,找出直线经过的图像坐标
x1 = 10;
x2 = 50;
y1 = 15;
y2 = 40;
figure;
hold on
plot([x1 x2],[y1 y2])
hold off;
k = (y2 - y1) / (x2 - x1);
b = y1 - k *x1;
Num = 0;
for j = x1 : x2
Hb = y1 - 1; %以A点为起点
He = y1 + 1;
H = 0;
W = 0;
Min = 1000;
for i = Hb : He
Tmpb = i - k*j;
delta = abs(b - Tmpb);
if delta < Min
Min = delta;
H = i;
W = j;
end
end
if H ~= 0 && W ~= 0
Num = Num + 1; %直线上像素点个数
Coor(Num,1) = H; %直线上像素点位置坐标
Coor(Num,2) = W;
y1 = H;
end
end
hold on;
x = Coor(:,2);
y = Coor(:,1);
plot(x,y)
hold off;
set(gca,'xtick',0:1:100)
set(gca,'ytick',0:1:100)
grid on