随手记录了一下代码,里面具体参数根据想要实现的功能进一步更改!
import os
import matplotlib.pyplot as plt
from PIL import Image
import cv2
import numpy as np
import random
# 遮挡
def paste(im):
plt.figure()
plt.subplot(1, 2, 1)
imgg=Image.open(im)
plt.imshow(imgg)
# 生成一张白色图片
img = Image.new('RGB', (imgg.size[0], imgg.size[1]), (255, 255, 255))
i=random.randint(0,180)
j=random.randint(0,180)
# img2 = img.crop((0,0,80,180)) #裁剪原图中一部分作为覆盖图片 # 80 80 两个参数可以设置为裁剪大小
img2 = img.crop((0,0,i,j)) #裁剪原图中一部分作为覆盖图片 # 80 80 两个参数可以设置为裁剪大小
print(imgg)
x=random.randint(0,200)
print(x)
imgg.paste(img2, (x, x, x+img2.size[0], x+img2.size[1])) #第二个参数是覆盖位置
plt.subplot(1, 2, 2)
plt.imshow(imgg)
plt.show()
return imgg
if __name__=='__main__':
paste('./test.png')