图像拼接|Robust_Elastic_Warping Python版

图像拼接|Robust_Elastic_Warping Python版

前言

Parallax-Tolerant Image Stitching Based on Robust Elastic Warping 这篇论文的Python实现, 仅实现了两幅拼接。
J. Li, Z. Wang, S. Lai, Y. Zhai and M. Zhang, “Parallax-Tolerant Image Stitching Based on Robust Elastic Warping,” in IEEE Transactions on Multimedia, vol. 20, no. 7, pp. 1672-1687, July 2018, doi: 10.1109/TMM.2017.2777461.

代码地址 python-Robust_Elastic_Warping. 喜欢的朋友给个⭐哦

代码

main.py

import cv2 as cv
from load_data import load_data
from comp_KR import comp_KR
from mosaic_global import mosaic_global
from mosaic_local_ori import mosaic_local_ori
import matplotlib.pyplot as plt

# data_path = 'images/APAP-railtracks/'
# imfile1 = data_path + 'railtracks_01.jpg'
# imfile2 = data_path + 'railtracks_02.jpg'

data_path = 'images/DHW-temple/'
imfile1 = data_path + '4.jpg'
imfile2 = data_path + '5.jpg'

# data_path = 'images/ANAP-intersection/'
# imfile1 = data_path + 'intersection_01.jpg'
# imfile2 = data_path + 'intersection_02.jpg'

# data_path = 'images/REW_worktable/'
# imfile1 = data_path + 'worktable_01.jpg'
# imfile2 = data_path + 'worktable_02.jpg'

im1 = cv.imread(imfile1)
im2 = cv.imread(imfile2)

X1, X2 = load_data(im1, im2)
print("Number of matches: ", X1.shape[1])

H, X1_ok, X2_ok = comp_KR(im1, im2, X1, X2)
print("H =\n", H)
print("H normalize =\n", H/H[2,2])

mosaic = mosaic_global(im1, im2, H)
cv.imwrite(data_path+'mosaic_global.jpg', mosaic)
cv.imshow("mosaic_global", mosaic)
cv.waitKey(1)

mosaic = mosaic_local_ori(im1, im2, H, X1_ok, X2_ok)    
cv.imwrite(data_path+'mosaic_REW.jpg', mosaic)
cv.imshow("mosaic_REW", mosaic)
cv.waitKey(0)

load_data.py
功能:使用opencv-python的sift进行特征提取与匹配,返回源图和目标图的匹配点。

comp_KR.py
功能:调用HM_ransac函数,用RANSAC方法计算全局单应性矩阵及内点。

mosaic_global.py
功能:求全局单应性拼接结果

mosaic_local_ori.py
功能:用弹性局部对齐方法得到拼接结果,提升重叠区域对齐精度。

运行结果

mosaic_global
mosaic_REW
mosaic_global
mosaic_REW
mosaic_global
mosaic_REW
mosaic_global
mosaic_REW
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值