有没有什么办法可以把这两张图片融合,最后得到结果类似第三张图?

要自动融合,有没有什么python脚本或者算法,opencv有类似的功能吗?

img

img

siftmatch

融合的准则是什么?

opencv可以实现平移、缩放或旋转,但是你这两张图片融合的话,简单的平移,缩放怕是不可以的吧

或许直接可以用pr

可以使用下面的代码:

import cv2
import numpy as np
import pandas as pd
 
img1 = cv2.imread('Z1.jpg')
img2 = cv2.imread('Z2.jpg') 
gray1 = cv2.cvtColor(img1, cv2.COLOR_BGR2GRAY)
gray2 = cv2.cvtColor(img2, cv2.COLOR_BGR2GRAY)
# 缩放
x1, y1 = gray1.shape[0:2]
x2, y2 = gray2.shape[0:2]
gra1 = cv2.resize(gra1, (int(y1/2), int(x1/2)))  # 如果需要缩放图1执行
gra2 = cv2.resize(gra2, (int(y2/2), int(x2/2)))   # 如果需要缩放图2执行
image = np.concatenate((gray1, gray2)) 
cv2.imwrite('image.png', image)

如有帮助,请采纳,多谢!

python的不太清楚,之前见过一个网站可以做这个

如果两张图的轮廓大致形同的化,思路应该是用opencv 提取轮廓(比如canny 算子)等,然后在轮廓的基础上提取 特征,例如sift特征、HOG特征等,然后再领用特征进行图像匹配,获得匹配矩阵,匹配矩阵表面两张图的空间变换关系(包含平移、旋转等),然后就可以考虑将两幅图像叠加。