直接上代码
介绍的也比较详细
import torchvision.transforms.functional as TF
from PIL import Image
import os
from skimage.util import random_noise
from skimage.filters import gaussian
import cv2
# 擦除图像中某块区域
def erase_and_save(image_path, target_dir, position, size):
"""
按照指定的位置和长宽擦除
:param image_path: 输入图像路径
:param target_dir: 目标图像路径
:param position: 擦除的左上角坐标
:param size: 擦除的长宽值
:return: 返回擦除后的图像
"""
image = TF.to_tensor(Image.open(image_path))
erased_image = TF.to_pil_image(TF.erase(img=image,
i=position[0],
j=position[1],
h=size[0],
w=size[1],
v=1))
erased_image.save(os.path.join(target_dir, os.path.basename(image_path[:-4]))+"_erased_.jpg")
return erased_image
# 任意角度旋转
def rotate_and_save(image_path, target_dir, angles_