Python 图像中给定2d点的特征描述符
尝试使用python opencv3获取预定义点的描述符。目标是为给定的图像提供一组点,并获得相应的特征描述符。我愿意使用SIFT、SURF、Brief、ORB和基本上任何描述符。但是,我不想使用提供的任何检测方法。我创建了以下内容:Python 图像中给定2d点的特征描述符,python,opencv3.1,Python,Opencv3.1,尝试使用python opencv3获取预定义点的描述符。目标是为给定的图像提供一组点,并获得相应的特征描述符。我愿意使用SIFT、SURF、Brief、ORB和基本上任何描述符。但是,我不想使用提供的任何检测方法。我创建了以下内容: feat_object = cv2.xfeatures2d.BriefDescriptorExtractor_create() # define keypoint for a single 2d point pt = cv2.KeyPoint(point[0,0
feat_object = cv2.xfeatures2d.BriefDescriptorExtractor_create()
# define keypoint for a single 2d point
pt = cv2.KeyPoint(point[0,0],point[1,0], 10)
# create feature descriptor
out = feat_object.compute(frame, pt)
但是,我得到了以下错误
---->out=feat_object.compute(帧,pt)
SystemError:返回错误,未设置异常
有什么建议吗?好的,解决问题很简单。正确的代码段如下所示:
feat_object = cv2.xfeatures2d.BriefDescriptorExtractor_create()
# define keypoint for a single 2d point
pt = cv2.KeyPoint(point[0,0],point[1,0], 10)
# create feature descriptor
out = feat_object.compute(frame, pt)
feat_object=cv2.xfeature2d.BriefDescriptorExtractor_create()
为单个二维点定义关键点
pt=[cv2.关键点(点[0,0],点[1,0],10)]
创建特征描述符
out=feat_object.compute(帧,pt)
帧定义为灰度图像,pt为关键点列表。因此,即使您只想处理单个关键点,您仍然需要将其作为列表传递
我只在opencv2中测试过这个