Is there a way to append a SiftPoints Object?

6 ビュー (過去 30 日間)
Kunal Khosla
Kunal Khosla 2023 年 4 月 12 日
回答済み: Shantanu Dixit 2024 年 8 月 29 日
I tried using vertcat to concatenate 2 SiftPoint objects, however it fails during code generation. Is there any alternate method to do the same?

回答 (1 件)

Shantanu Dixit
Shantanu Dixit 2024 年 8 月 29 日
Hi Kunal, It is not possible to concatenate 'SIFTPoints' objects directly, as MATLAB treats them as scalar objects that encapsulate their data internally. Instead you should handle the concatenation of the underlying data (eg. point locations) and subsequently construct a new 'SIFTPoints' object.
Below example code briefly describes how this can be achieved:
I1 = imread('i1.tif');
I2 = imread('i2.tif');
points1 = detectSIFTFeatures(I1);
points2 = detectSIFTFeatures(I2);
strongest1 = points1.selectStrongest(10);
strongest2 = points2.selectStrongest(10);
points1 = SIFTPoints(strongest1.Location);
points2 = SIFTPoints(strongest2.Location);
% concat the points from both the objects
loc1 = points1.Location;
loc2 = points2.Location;
combinedLocations = [loc1; loc2];
% Create a new SIFTPoints object
combinedPoints = SIFTPoints(combinedLocations);
Refer to the below MathWorks documention for more information:

タグ

製品


リリース

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by