以一个检测人脸的图片为例:
检测后生成的标签txt如下,
此时,如何根据标签值将检测到的人脸同色块替换呢?
关键是获取检测框的左上角坐标和右下角坐标。
img = Image.open('D:/PythonWokspace/JINX/datasets_transform/dataset/img.png')
width, height = img.size
top_left = (int(0.35 * width - 0.4 * width/2), int(0.367 * height - 0.53 * height/2))
bottom_right = (0.35 * width + 0.4 * width/2, 0.367 * height + 0.53 * height/2)
获取了两个关键坐标后就可以进一步生成适配规模的色块图片并粘贴到目标图像中
mosaic = Image.new("RGB", (int(bottom_right[0] - top_left[0]), int(bottom_right[1] - top_left[1])), (256, 256, 256))
img.paste(mosaic, top_left)
img.save('D:/PythonWokspace/JINX/datasets_transform/dataset/mosaic.png')