Remove SURF points according to scales

1 view (last 30 days)
muhammad faiz
muhammad faiz on 30 Dec 2016
Hai,
I would like to remove any SURF points that having scales less than 2. how can i do that?
please help.
  2 Comments
John D'Errico
John D'Errico on 30 Dec 2016
HUH? Slow down. Ask your question clearly.
Apparently you have a surface, generated by surf. I think?
You don't want to plot some part of the surface?
What is a scale? Maybe something that you weigh yourself with?
muhammad faiz
muhammad faiz on 30 Dec 2016
i'm sorry...its a SURF points from the computer vision toolbox. (SURF detector). Basically, i have lot of SURF points generated by the SURF detector from the image that i have. However, i only needs points that have Scales highers than 0.5. therefore, i want remove any points lower than that scale.

Sign in to comment.

Answers (2)

KSSV
KSSV on 30 Dec 2016
[x,y,z] = peaks(100) ;
figure(1)
surf(x,y,z)
% remove less then 2
z(z<2) = NaN ;
figure(2)
surf(x,y,z)
  3 Comments
Image Analyst
Image Analyst on 30 Dec 2016
That's why it helps to list toolboxes in the Products section. I did that for you but you should do it yourself from now on.
Priodyuti Pradhan
Priodyuti Pradhan on 2 Nov 2020
It's really helpful for me! Thanks for sharing!

Sign in to comment.


Anand
Anand on 30 Dec 2016
% Read an image
I = imread('cameraman.tif');
% Compute SURF features
points = detectSURFFeatures(I);
% Filter out points with scale less than 2
newPoints = points( points.Scale<2 );
% Plot points
imshow(I);
hold on;
plot(newPoints);

Categories

Find more on Image Processing and Computer Vision 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!