Python OpenCV 透视变换
第一次写博客,请见谅。
大多数资料介绍透视变换、仿射变换,都是在预先知道需要变换的坐标的情况下进行的,局限性比较大。
下面给大家介绍一个新的方法,可以自动进行变换校正。
上传待校正的图片、标准图片,自动根据sift特征点匹配,并且进行无效特征点RANSAC过滤,代码比较简单,没有过多介绍,直接上代码。
# -*- coding: utf-8 -*-
import numpy as np
import cv2
def sift_kp(image):
gray_image = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
# sift特征提取
sift = cv2.xfeatures2d_SIFT.create()
kp,des = sift.detectAndCompute(image,None)
# 把特征点标记到图中
kp_image = cv2.drawKeypoints(gray_image,kp,None)
return kp_image,kp,des
def get_good_match(des1