计算机视觉开源库中提供image.find_keypoints([roi[,threshold=20[,normalized=False[,scale_factor=1.5[,max_keypoints=100[,corner_detector=image.CORNER_AGAST]]]]]])方法,可以从ROI元组(x,y,w,h)中提取ORB键点。可以使用image.match_descriptor函数来比较两组关键点,以获取匹配区域。若未发现关键点,则返回None。
其中,roi是搜索区域的矩形元组(x,y,w,h)。如果未指定,roi即整个图像矩形区域,搜索操作范围仅限于roi区域内的像素。
threshold是控制提取的数量的参数(取值0~255)。对于默认的AGAST角点检测器,该值应在20左右。对于FAST角点检测器,该值为60~80。阈值越低,提取的角点会越多。
normalized是布尔值。若为True,在多分辨率下关闭提取键点。若编程者不关心处理扩展问题,且希望算法运行更快,可将之设置为True。(www.xing528.com)
scale_factor是一个必须大于1.0的浮点数。较高的比例因子会使运行更快,但图像匹配相应较差。理想值介于1.35~1.5。max_keypoints是特征点对象所能容纳的特征点最大数量。若特征点对象过大会导致内存不足,应用时可以降低该值。corner_detector是从图像中提取特征点所使用的角点检测器算法,可以是image.CORNER_FAST或image.CORNER_AGAST。FAST角点检测器运行速度更快,但其准确度较低。
find_keypoints函数的默认用法是find_keypoints(max_keypoints,thresholds,normalized=True)。设置好图形匹配应用的摄像头视频采集工作参数,即可在指定的图像区域内启动图像特征提取过程,Python编程方法如下:
img.find_keypoints(max_keypoints=150,threshold=10,normalized=True)
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。