作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一张 50x50 的小图片。我找到 ORB 关键点:
(请注意,我必须将 patchSize 的默认参数从 31 更改为 14 才能检测到一些关键点):
OrbFeatureDetector det(500,1.2f,8,14,0,2,0,14); //> (From 31 to 14)
OrbDescriptorExtractor desc;
det.detect(image,kp)
//> kp.size() is about 50 keypoints
现在,如果我将我的关键点传递给 orb.compute,我会删除所有关键点。
desc.compute(image,kp,kpDesc);
//> Now kp.size() == 0
这意味着在我调用 .compute 之后,该方法删除了所有关键点。
我使用的图片是这样的:
我相信这是某种错误。有人可以确认吗?我正在使用 OpenCV 2.4.5
最佳答案
不,这不是错误。
问题是 OrbDescriptorExtractor 不知道您已经更改了 FeatureDetector 中的参数。所以你必须再次设置正确的参数:
OrbFeatureDetector det(500,1.2f,8,14,0,2,0,14); //> (From 31 to 14)
OrbDescriptorExtractor desc(500,1.2f,8,14,0,2,0,14);
关于c++ - ORB 计算错误 : it removes all keypoints with a small image,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16688909/
我是一名优秀的程序员,十分优秀!