#python #image #matplotlib #alignment #mosaic
#питон #изображение #matplotlib #выравнивание #мозаика
Вопрос:
У меня есть серия изображений, которые имеют определенное количество перекрытий (скажем, 30%) и образуют большую полосу, когда собраны вместе.
Мне удалось выровнять каждый кадр по предыдущему и получить координаты, которые дают смещение в x и y для каждого кадра. Теперь я хотел бы расположить их все в правильном положении, чтобы увидеть, как выглядит выровненная фигура.
Ниже я показываю 2 примера изображений, одно на краю, а другое немного дальше. Они выровнены по этой одной белой точке.
Если я сделаю это в photoshop, я получу что-то вроде этого.
Как это сделать в python, если оба массива
import numpy as np import matplotlib.pyplot as plt im1 = np.random.random([1301,1301]) im2 = np.random.random([1301,1301]) y_offset = np.array([0, 724]) x_offset = np.array([0,16])
Таким образом, общее изображение будет 1301*2-724 пикселей в высоту и 1301 16 пикселей в ширину. Я пробовал что-то подобное, но, к сожалению, это не делает того, чего я хочу.
fig = plt.figure(figsize=(2,3)) ax = fig.add_subplot(111) plt.imshow(im1, extent=[0,1301, 0, 1301]) plt.imshow(im2, extent=[16 0,16 1301, 1301*2-724) plt.show()