How can i find the intersection point between two lines ?

7 次查看(过去 30 天)
I have some horizontal images and i draw a vertical line upon them. But There are some angle exists among the horizontal lines and vertical line depends on that horizontal lines. So I applied some intersection algorithm , collected from internet, but the output of intersection not good for all cases of horizontal lines. Since I consider three angles as like uploaded images.Here you see that, some intersection points are up and down. I want to fix it at proper place. I mean i want to develop a intersection code which will give proper output for three cases. I have already tried this given code,It will be great for me if someone explain the code how it works basically, because i just collected it from internet.
x1 = [v(1,1) v(1,2)]; %vertical line X intersection point.
y1 = [v(2,1) v(2,2)];%vertical line Y intersection point.
%line2
x2 = [h(1,1) h(1,2)];%Horizontal line X intersection point.
y2 = [h(2,1) h(2,2)];%Horizontal line Y intersection point.
%fit linear polynomial
p1 = polyfit(x1,y1,1);
p2 = polyfit(x2,y2,1);
%calculate intersection
x_intersect = fzero(@(x) polyval(p1-p2,x),3);
y_intersect = polyval(p1,x_intersect);
P(1)=x_intersect;
P(2)=y_intersect;

回答(1 个)

KSSV
KSSV 2017-8-22
You may use this very effective file exchange to calculate intersection points.
PS: Don't forget to rate that file exchange in there.
  2 个评论
KSSV
KSSV 2017-8-22
In that case..you have not used the function properly....this code is very effective....

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Geometric Transformation and Image Registration 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by