How to extract patch of 4*4 size on the extracted SIFT features Keypoint (for eg: SIFT feature of an image 961*128)?
3 views (last 30 days)
Show older comments
Extraction a patch size of 4*4 on the keypoints extracted from the SIFT feature extraction. example for an image I have got SIFT feature as 650*128.
0 Comments
Answers (1)
Gautam
on 9 Jan 2025
Hello Dheer,
You can modify the code below to extract patches from the SIFT Features key points
for i = 1:length(valid_points)
% Get the position of the keypoint
x = round(valid_points(i).Location(1));
y = round(valid_points(i).Location(2));
% Define the patch boundaries
x_start = max(1, x - half_patch);
x_end = min(size(img, 2), x + half_patch - 1);
y_start = max(1, y - half_patch);
y_end = min(size(img, 1), y + half_patch - 1);
% Extract the patch
patch = img(y_start:y_end, x_start:x_end);
% Ensure the patch is 4x4 by padding if necessary
if size(patch, 1) < patch_size || size(patch, 2) < patch_size
patch = padarray(patch, [patch_size - size(patch, 1), patch_size - size(patch, 2)], 'post');
end
% Display or process the patch as needed
% imshow(patch); pause(0.1); % Uncomment to display each patch
end
0 Comments
See Also
Categories
Find more on Feature Detection and Extraction 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!