SURF Points filtering
1 次查看(过去 30 天)
显示 更早的评论
I would like to remove SURF-points which are on a black boundary, where the intensity is zero. I have an image which I transformed and now has a black border around it. I don't want to rotate and crop the transformed image for demonstration purposes. How can I remove these SURF-points?
0 个评论
回答(1 个)
Witek Jachimczyk
2011-10-17
If you are using SURFPoints object from the Computer Vision System Toolbox, once you create your object, you can access the Location property, e.g.
x = SURFPoints([20 20; 3 4]); % this would normally be generated % by detectSURFFEatures >> x.Location
ans =
20 20
3 4
You can now filter the points based on location, e.g.
>> xcoord = x.Location(:,1) % get column of x coordinates
xcoord =
20
3
>> x(xcoord>5) = [] % wipe out any point where x coordinate is % greater than 5
Hence, you can wipe out points that are within a particular image region. You'll need to know the coordinates of you black border in order to use this strategy. Let me know if any of this is not making sense.
Witek
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!