How to find the point where most lines intersect in a binary image?

조회 수: 7 (최근 30일)
Aon
Aon 2018년 9월 14일
댓글: Felix Onofrei sunt 2020년 5월 13일
In a multi-line binary image with different slopes and center points. How do you find the coordinate where most lines intersect? (it should be close where the red arrow points)
Thanks in advance
  댓글 수: 5
Aon
Aon 2018년 9월 15일
Yes with the help of InterX function I now have an array with the intersectpoints. Is it possible to find the cluster with only the array?
jonas
jonas 2018년 9월 15일
Yep, see the latest comment on the answer for two methods. Id try hist3 first

댓글을 달려면 로그인하십시오.

채택된 답변

jonas
jonas 2018년 9월 14일
편집: jonas 2018년 9월 15일
A good solution would be to identify each line by e.g. Hough transform, determine each intersection (e.g. InterX ) and then find the cluster with the highest density of intersections using e.g hist3.
In this case, it seems the point of interest is also the point with the highest density of white pixels, so you could apply some smoothing filter and then find the highest value in the matrix. Here's an example using a very simple 10x10 pixel average.
w=ones(10,10);
A=conv2(I,w/numel(w),'same')
imagesc(A)
colormap(gca,'jet')
  댓글 수: 5
Felix Onofrei sunt
Felix Onofrei sunt 2020년 5월 13일
Aon, could you tell me how did you use the interX function to get the intersection of every line, not only two? I am trying to use this function for geographical track lines. Basically i want the same thing, and then to find the cluster. Thanks in advance!

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Image Analyst
Image Analyst 2018년 9월 15일
  댓글 수: 2
Aon
Aon 2018년 9월 16일
hist3 helped me very well but I will read more about dbscan also. Thank you!
Image Analyst
Image Analyst 2018년 9월 16일
Alternatively you could threshold the blurred image and use regionprops to find the weighted centroid of the region.

댓글을 달려면 로그인하십시오.

Community Treasure Hunt

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

Start Hunting!

Translated by