Finding matching points between two 2d point sets, but different sizes
Show older comments
I am trying to find the way of identifying matching points between two sets (they are xy coordinates from two shifted images). Their sizes are different. Both sets have many points that are not shared. In other words, I look for algoriths to find same points between two shifted 2D point sets, which are not identical.
6 Comments
weikang zhao
on 25 Feb 2021
How to define "matching points"? you should give a couple of legal points in your .mat file.
photoon
on 25 Feb 2021
weikang zhao
on 25 Feb 2021
What are the matching criteria? Is there a fixed distance between two points?
KSSV
on 25 Feb 2021
How the given points are matching? Any logic? xy1 has two columns and xy2 has three columns.
photoon
on 25 Feb 2021
photoon
on 25 Feb 2021
Answers (3)
weikang zhao
on 25 Feb 2021
if you dont need a very precise result,
clear
load('xy1.mat');
load('xy2.mat');
fixdistance=[-0.27,2.3];
newxy1=xy1+fixdistance;
dis=@(x,y) sum((x-y).^2);
result=struct([]);
structcount=1;
for i=1:size(newxy1,1)
for j=1:size(xy2,1)
if dis(xy2(j,:),newxy1(i,:))<0.1
result(structcount).xy1num=i;
result(structcount).xy2num=j;
result(structcount).xy1=xy1(i,:);
result(structcount).xy2=xy2(j,:);
structcount=structcount+1;
end
end
end
the struct result contains the results you need. If you need a more general and more accurate method to deal with a large number of similar problems, you need to design an algorithm to estimate fixdistance.
have fun!
2 Comments
weikang zhao
on 25 Feb 2021
by the way, optical flow may be help to estimate fixdistance
photoon
on 25 Feb 2021
weikang zhao
on 26 Feb 2021
0 votes
I provide a feasible solution. Assuming that the length of xy1&`xy2` are m and n, first generate a set of size m*n, including the distance between any pair of points, and then deploy a clustering algorithm or GMM fitting algorithm, the cluster center is the fixdistance.
Categories
Find more on Geometric Transformation and Image Registration in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!