有谁知道OpenCV 2.3中FeatureDetection和DescriptorExtraction之间的区别?我知道后者是使用DescriptorMatcher进行匹配所必需的.如果是这种情况,FeatureDetection用于什么?
谢谢.
opencv image-processing feature-extraction computer-vision feature-detection
SURF和SIFT一样获得专利.ORB和BRIEF没有获得专利,但它们的特征不是规模不变的,严重限制了它们在复杂场景中的实用性.
是否有任何特征提取器能够像SURF一样快速地提取尺度不变的特征,并且不像SURF和SIFT那样严格获得专利?
我想使用ORB特征检测器和提取器实现基于特征的对齐算法.
到目前为止,我使用OpenCV中的ORB类
提取了这些特征ORB orb;
orb(gray_image,Mat(),features.keypoints,features.descriptors);
,并使用openCV中的knnMatch函数进行匹配.matcher.knnMatch(features1.descriptors, features2.descriptors, pair_matches,2);
之后我尝试使用findHomography函数找到一个单应性,但是这个函数需要在图像特征之间至少有4个匹配,并且在大多数情况下我测试过的图像不到4.
有人用过这个功能吗?是否有任何关于它的文档,或关于OpenCV的ORB类(ORB构造函数参数的含义)?
PS这是我的第一个问题.我不能发布超过2个链接.对于opencv文档,请使用此方法.
我想开发应用程序,它将识别出现在相机前面的对象(如纪念碑或其他东西)OpenCv,然后它将显示有关它的信息.
所以问题是如何识别对象(如纪念碑或其他东西)的形状或与图像进行比较OpenCV?
这样做的最佳方法是什么?
如果存在用于对象检测和比较的某种样本或教程,那将是很好的.
谢谢.
android opencv image-processing computer-vision object-recognition
从OpenCV文档:
C++:void SIFT::operator()(InputArray img, InputArray mask, vector<KeyPoint>& keypoints,
OutputArray descriptors, bool useProvidedKeypoints=false)
Run Code Online (Sandbox Code Playgroud)
参数:
img – Input 8-bit grayscale image
mask – Optional input mask that marks the regions where we should detect features.
keypoints – The input/output vector of keypoints
descriptors – The output matrix of descriptors. Pass cv::noArray()
if you do not need them.
useProvidedKeypoints – Boolean flag. If it is true, the keypoint
detector is not run. Instead, the provided vector of keypoints is
used and the algorithm …Run Code Online (Sandbox Code Playgroud)