对于图片的拼接,如果逐像素点操作未免有点麻烦。利用Python的numpy就可以对图片进行拼接了。
numpy有两个拼接矩阵的函数,np.hstack和np.vstack,一个表示水平拼接,一个表示竖直拼接。我们看代码:
import numpy as np
from PIL import Image
def merge(im1, im2):
a1 = np.array(im1)
a2 = np.array(im2)
arr = np.hstack((a1, a2))
return arr
def _main():
img1 = Image.open('xx1.jpg')
img2 = Image.open('xx2.jpg')
arr = merge(img1, img2)
Image.fromarray(arr).show()
巧妙地利用了hstack完成了图片的水平拼接,看效果图: