opencv,SIFT特征提取怎么只要区域识别?

import cv2

img1 = cv2.imread("iphone1.png")
img2 = cv2.imread("iphone2.png")
sift = cv2.SIFT_create()

kp1, des1 = sift.detectAndCompute(img1, None)
kp2, des2 = sift.detectAndCompute(img2, None)
# 采用暴力匹配
matcher = cv2.BFMatcher()
matches = matcher.knnMatch(des1, des2, k=2)  # k=2,表示寻找两个最近邻

good_match = []
for m, n in matches:
    if m.distance < 0.5*n.distance:    # 如果第一个邻近距离比第二个邻近距离的0.5倍小,则保留
        good_match.append(m)

mg3 = cv2.drawMatchesKnn(img1, kp1, img2, kp2, good_match, None, flags=2)

SIFT特征提取怎么只要区域识别?
有些图片太大了,整张图 速度太慢了,
比如 红色框 这个红色框X坐标的 才去识别
或者筛选出红色框里面的

回复
阅读 471
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏