在网上查找了好多用Matplotlib显示多张图像到一张图像上的方法,总是报各种错误,在这里,将最笨拙的方法贴出来,供各位网友参考,欢迎大家在评论区推荐更简洁的方法…
import os
import numpy as np
from PIL import Image
import matplotlib.pyplot as plt
import cv2
plt.figure()
plt.suptitle('Mask_Image') # 图片名称
img=cv2.imread('/home/mc146/Desktop/store/get_face_roi/save/mask_result/220.jpg')
# print(img.shape)
b,g,r = cv2.split(img)
img1 = cv2.merge([r,g,b])
plt.subplot(2,3,1)
plt.title(str(1))
plt.axis('off')
plt.imshow(img1)
img_p1='/home/mc146/Desktop/store/get_face_roi/save/mask_result/108.jpg'
# img= Image.open(img_p)
img=cv2.imread(img_p1)
# print(img.shape)
b,g,r = cv2.split(img)
img1 = cv2.merge([r,g,b])
plt.subplot(2,3,2)
plt.title(str(2))
plt.axis('off')
plt.imshow(img1)
img_p1='/home/mc146/Desktop/store/get_face_roi/save/mask_result/528.jpg'
# img= Image.open(img_p)
img=cv2.imread(img_p1)
# print(img.shape)
b,g,r = cv2.split(img)
img1 = cv2.merge([r,g,b])
plt.subplot(2,3,3)
plt.title(str(3))
plt.axis('off')
plt.imshow(img1)
img_p1='/home/mc146/Desktop/store/get_face_roi/save/mask_result/278.jpg'
img=cv2.imread(img_p1)
b,g,r = cv2.split(img)
img1 = cv2.merge([r,g,b])
plt.subplot(2,3,4)
plt.title(str(4))
plt.axis('off')
plt.imshow(img1)
img_p1='/home/mc146/Desktop/store/get_face_roi/save/mask_result/778.jpg'
img=cv2.imread(img_p1)
b,g,r = cv2.split(img)
img1 = cv2.merge([r,g,b])
plt.subplot(2,3,5)
plt.title(str(5))
plt.axis('off')
plt.imshow(img1)
img_p1='/home/mc146/Desktop/store/get_face_roi/save/mask_result/398.jpg'
img=cv2.imread(img_p1)
b,g,r = cv2.split(img)
img1 = cv2.merge([r,g,b])
plt.subplot(2,3,6)
plt.title(str(6))
plt.axis('off')
plt.imshow(img1)
plt.tight_layout() # 调整整体空白
plt.subplots_adjust(left=None, bottom=None, right=None, top=None,
wspace=None, hspace=None) # 调整子图间距
'''
subplots_adjust(left=None, bottom=None, right=None, top=None,wspace=None, hspace=None)
# 参数说明:
top、bottom、left、right:整个图距离上下左右边框的距离
wspace、hspace:这个才是调整各个子图之间的间距
wspace:调整子图之间的横向间距
hspace:调整子图之间纵向间距
'''
plt.savefig('/home/mc146/Desktop/face_concat/mask.jpg')
plt.show()