图片拼接(实战项目三)
主题思路
-
读入图片
-
预处理图片
-
图片特征提取
-
特征处理
-
特征匹配
-
透视变换
-
图片再处理
-
(可选)图片特征点连线配对
具体代码
Sticher.py
引入头文件
import cv2 import numpy as np
创建类
class Sticher:
自定义函数
-
def stich:外部接口函数
-
def detectAndDescribe:用于图片的特征点提取,内部逻辑函数
-
def matchKeypoints:特征点匹配
-
def drawMatches:显示2图片的特征点匹配,用线勾勒出来,方便观察细节(可选)
展示图片函数:show()
def show(self, image, name='demo'): cv2.imshow(name, image) cv2.waitKey(0) cv2.destroyAllWindows()
外部接口函数:stich()
stich函数传入一个images的列表,里面包含2个图片,经过一系列其他成员函数后将2图片合并
参数说明:
ratio = 0.75 (先验知识,拿来主义~)
# reprojThresh是RANSAC算法中的阈值参数,用于判断是否为内点(inlier)的阈值 #