python实现基于SIFT算法的图像配准(仿射变换)

本文介绍了一个使用Python实现的基于SIFT算法的图像配准过程,利用仿射变换将一幅图像调整到与另一幅图像匹配。代码适用于Windows和macOS系统,通过读取两幅图像,输出配准后的结果。文中提到,理解单应性矩阵、KNN和RANSAC算法对于深入理解该程序至关重要。同时,提供了显示关键点配对结果的方法,并提醒读者部分代码来源于网络,用于学习交流。
摘要由CSDN通过智能技术生成

话不多说,直接上代码,可以用的话别忘了请喝可乐!(手动笑哭脸)

【用法】

第45、46行的输入:

img1 = cv2.imread('sift/3.jpg')

img2 = cv2.imread('sift/4.jpg')

分别是两幅图像,改成你打算要配准的两幅图像即可(修改图像路径)。

python的跨平台特性好,windows和macOS系统都可用。输出:三幅图像。窗口1、窗口2是你输入的两幅图像,Result窗口展示的是本算法结果,即把img2移动变换到与img1匹配时的样子。

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Tue Apr 23 16:37:02 2019
SIFT
@author: youxinlin
"""

import numpy as np
import cv2

def sift_kp(image):
    gray_image = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
    sift = cv2.xfeatures2d_SIFT.create()
    kp,des = sift.detectAndCompute(image,None)
   
评论 39
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值