使用的模块:在本文中,我们将使用NumPy和python-opencv(cv2)库。
NumPy:
Numpy是一个python库,它将帮助我们基于科学计算来解决问题并存储相同数据类型的数据。
下载NumPy:
通用方式:pip安装NumPy
Pycharm用户:转到项目解释器->单击+按钮->下载NumPy。
python-opencv(cv2):
python-opencv(cv2)(开源计算机视觉)是一个python库,它将帮助我们解决与计算机视觉有关的问题。
下载python-opencv(cv2)
通用方式:pip install python-opencv
Pycharm用户:转到项目解释器->单击+按钮->下载模块。
我们将在本文中实际做什么?
在本文中,我们将尝试在NumPy函数的帮助下合并图像,并且将使用python-opencv(cv2)读取和获取图像数据。我们将创建一个水平的图像堆栈,然后,将它们合并为一个垂直的图像堆栈。
注意:我们仅拍摄了4张拼贴图像。
让我们看看我们将在本文中使用的一些功能:
np.hstack([<image1>,<image2>]):将创建一个水平的图像堆栈。
np.vstack([<image1>,<image2>]):将创建垂直的图像堆栈。
cv2.resize(<image>,(<<我们想要的区域>)):它将调整图像的大小。
码:
# 导入模块 import cv2 import numpy as np # 阅读所有图像 # 我们将只拍摄4张图像 image1=cv2.imread("index1.png") image2=cv2.imread("index2.jpeg") image3=cv2.imread("index3.jpeg") image4=cv2.imread("images.png") # 使所有图像大小相同 #所以我们将使用调整大小功能 image1=cv2.resize(image1,(200,200)) image2=cv2.resize(image2,(200,200)) image3=cv2.resize(image3,(200,200)) image4=cv2.resize(image4,(200,200)) # 现在我们将如何将图像与其他图像附加在一起 # 我们将创建一个水平的图像堆栈 # 然后我们将其添加到垂直堆栈中 # 令水平对为(image1,image2) # 和(image3,image4) # 我们将使用numpy堆栈函数 Horizontal1=np.hstack([image1,image2]) Horizontal2=np.hstack([image3,image4]) # 现在水平附件完成了 # noe垂直附件 Vertical_attachment=np.vstack([Horizontal1,Horizontal2]) # 显示最后的附件 cv2.imshow("Final Collage",Vertical_attachment) cv2.waitKey(0)cv2.destroyAllWindows()
输出:
这是我们创建的最终图像。通过这种方式,我们可以创建拼贴。