2

我有一堆曝光不同的图像,我想将它们拼接在一起:

灰度图像转换为 JET 颜色映射以用于说明目的

OpenCV 有一个 Stitcher 示例,但它依赖于图像之间的匹配特征,并且它们应该相互重叠。

我的图像没有重叠,但它们彼此连续连接(就像我将全景图分割成多个分割一样),我想将它们连接在一起并修复它们的曝光。

如何在 OpenCV Python 中做到这一点?至少 Compensator 类需要:

compensator.feed(corners=corners, images=images_warped, masks=masks_warped)

images_warped可能只是正常输入imagesmasks_warped可能是一个二维数组,但我不知道corners应该如何手动给出值?

一个简单的例子就足够了,谢谢。

单个图像

在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

4

2 回答 2

0

我会通过在每张图片上复制相邻图片的一小部分来创建重叠部分。然后有一些工作可以将其作为正常的缝合过程进行处理。

于 2020-05-25T13:36:38.820 回答
0

假设您的每个图像具有相同的尺寸,并且由于 OpenCV 图像是 Numpy 数组,我们可以使用np.concatenatenp.hstackcv2.hconcat.

import cv2
import numpy as np

# Load images
image1 = cv2.imread('1.png')
image2 = cv2.imread('2.png')
image3 = cv2.imread('3.png')

# Method #1
hstack = np.hstack((image1, image2, image3))

# Method #2
concatenate = np.concatenate((image1, image2, image3), axis=1)

# Method #3
hconcat = cv2.hconcat([image1, image2, image3])

cv2.imshow('hstack', hstack)
cv2.imshow('concatenate', concatenate)
cv2.imshow('hconcat', hconcat)
cv2.waitKey()

结果应该是一样的

在此处输入图像描述

于 2020-01-31T21:18:08.317 回答