着张图片是由两张图片组成的,
但是超级识别点选验证码,只能传入一张图片,于是需要将两张图片进行一个拼接。
当然截图也是可以的,但是截图没有原图准确。
于是今天我就开始了,疯狂百度,有很多种方法都可以实现,比如numpy数组拼接,用cv2拼接,还有使用PIL库,个人觉得使用PIL库的方法最合适了。
from PIL import Image
def image_Splicing(img_1, img_2, flag='y'):
img1 = Image.open(img_1)
img2 = Image.open(img_2)
size1, size2 = img1.size, img2.size
if flag == 'x':
joint = Image.new("RGB", (size1[0] + size2[0], size1[1]))
loc1, loc2 = (0, 0), (size1[0], 0)
else:
joint = Image.new("RGB", (size1[0], size2[1]+size1[1]))
loc1, loc2 = (0, 0), (0, size1[1])
joint.paste(img1, loc1)
joint.paste(img2, loc2)
joint.save('joint.png')
这里是将两张图片横向、以及纵向拼接。