FLANN相比较与ORB和Harris,速度快十倍以上,在嵌入式视觉硬件上最实用,以下是未移植的源码
# -*- coding:utf-8 -*-
# 创建时间:2019年7月28日
# 功能:识别待匹配的二维码
# FLANN算法匹配检测;图像金字塔;D-P轮廓算法;
# 注:安装opencv-contrib-python 3.4.2.17以下版本
import cv2
# FLANN算法特征匹配检测
# 输入参数:查询图像train_img;训练图像frame
# 输出参数:匹配得到的特征值数量len(matches)
# 注:二维码等匹配目标时滤波会滤去过多的细节信息,此时不建议使用
def FLANN_inspect(train_img, frame):
# 高斯滤波进行平滑处理
# train_img_gray = cv2.cvtColor(train_img, cv2.COLOR_BGR2GRAY)
# train_img_gray = cv2.GaussianBlur(train_img_gray, (1, 1), 0)
# frame_gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# frame_gray = cv2.GaussianBlur(frame_gray, (1, 1), 0)
# 创建sift检测器
sift = cv2.xfeatures2d.S