opencv 如何在一张图中显示4幅图像

nszi6y05  于 2023-06-24  发布在  其他
关注(0)|答案(1)|浏览(97)

假设我有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

yyhrrdl8

yyhrrdl81#

  • 您可以使用Matplotlib库,但请注意!在python中打开CV库读取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()

相关问题