How can I store the feature descriptors for all 3D points found in Structure from Motion?
古いコメントを表示
I am running the example on Structure from Motion from MathWorks. I have managed to find 3D points from my 2D images, but I also need to store feature descriptors for each 3D point, so that I can perform 3D-2D matching later on. How do I go about this? I can save the features for each image separately, but I don't know how to later match them to each 3D point.
回答 (1 件)
Qu Cao
2021 年 4 月 20 日
0 投票
You can use imageviewset to store the feature points associated with each view and the connections between the views. You can also use worldpointset to store the correspondences between 2-D image points and 3-D world points.
4 件のコメント
Markus Iversflaten
2021 年 4 月 20 日
pointTrack doesn't store the index of the image point. A workaround is to find the index by comparing the image [x, y] positions. Note that the positions are stored in the imageviewset. Since pointTrack stores both the view ID and the image point position, you should be able to identify the image point corresponding to a view in the pointTack. Basically, you need to do something like the following:
vSet = imageviewset;
% Add views
tracks = findTracks(vSet);
% Find the image point of the first view in the first point track
find(tracks.Points(1,:) == vSet.Views.Points{viewId})
We understand this is a pain. We will consider enahnce this feature in a feature release.
Markus Iversflaten
2021 年 4 月 22 日
カテゴリ
ヘルプ センター および File Exchange で Structure from Motion についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!