Как вывести 4 изображения одной фигурой - PullRequest
0 голосов
/ 08 мая 2020

Предположим, что у меня есть 4 изображения, вывод с 1 по 4. Я хотел бы отобразить все 4 изображения на одном рисунке.

Я знаю, что если я хочу отобразить два изображения рядом друг с другом, я пишу

numpy_vertical = np.vstack((output2, output3))


cv2.imshow('Numpy Vertical', numpy_vertical)
# cv2.imshow('Numpy Horizontal', numpy_horizontal)
path = '/path to folder/main_folder'


cv2.waitKey()

Но мой вопрос в том, как я могу отобразить 4 изображения на одной фигуре, как это, с осью https://3qeqpr26caki16dnhd19sv6by6v-wpengine.netdna-ssl.com/wp-content/uploads/2019/01/Plot-of-Augmented-Images-with-a-Horizontal-Flip.png

1 Ответ

1 голос
/ 09 мая 2020
  • Вы можете использовать Matplotlib библиотеку, но будьте осторожны! Библиотека Open CV в python считывает изображения в формате BGR (если они цветные), а Matplotlib отображает их в формате RGB.
import matplotlib.pyplot as plt

numpy_vertical = np.vstack((output2, output3))


# cv2.imshow('Numpy Vertical', numpy_vertical)
# cv2.imshow('Numpy Horizontal', numpy_horizontal)
path = '/path to folder/main_folder'
# cv2.waitKey()
im_rgbVertical = cv2.cvtColor(numpy_vertical, cv2.COLOR_BGR2RGB)
im_rgbHorizontal = cv2.cvtColor(numpy_horizontal, cv2.COLOR_BGR2RGB)

plt.figure(num='your figure name')
plt.subplot('121')
plt.imshow(im_rgbVertical)
plt.title('Vertical')
plt.subplot('122')
plt.imshow(im_rgbHorizontal)
plt.title('Horizontal')
plt.show()
...