import cv2
import numpy as np
import os
MIN_MATCH_COUNT = 4
doc = open("C:\\Data\\test\\rotate.txt", 'a')
img1=cv2.imread("C:\\Data\\test\\IMG_6661.png")
gray1 = cv2.cvtColor(img1, cv2.COLOR_BGR2GRAY)
for num in range(1,6):
read_path=os.path.join("C:\\Data\\test",str(num))
save_path=os.path.join("C:\\Data\\test\\test_rotate",str(num))
if not os.path.exists(save_path):
os.makedirs(save_path)
files=os.listdir(read_path)
for file in files:
file_path=os.path.join(read_path,file)
print file
img2 = cv2.imread(file_path)
gray2 = cv2.cvtColor(img2, cv2.COLOR_BGR2GRAY)
## (2) Create SIFT object
sift = cv2.xfeatures2d.SIFT_create()
## (3) Create flann matcher
# 二者的区别在于BFMatcher总是尝试所有可能的匹配,从而使得它总能够找到最佳匹配,这也是Brute
# Force(暴力法)的原始含义。而FlannBasedMatcher中FL
使用sift特征匹配旋转图像
最新推荐文章于 2024-09-10 20:37:07 发布
本文深入探讨如何利用SIFT(尺度不变特征变换)特征匹配技术来解决图像旋转问题。通过详细解析代码,阐述了在图像处理中检测关键点、描述符匹配及旋转校正的步骤,旨在帮助读者理解和掌握这一实用技能。
摘要由CSDN通过智能技术生成