YOLOv5标签值含义根据标签将检测框色块替换(马赛克)

时间:2024-04-09 22:33:23

以一个检测人脸的图片为例:
在这里插入图片描述
检测后生成的标签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')

在这里插入图片描述