目录
缩放和裁剪
image=Image.open(img_path)
# 获取图像的宽度和高度
width, height = image.size
# 定义裁剪区域
crop_area = (0, 0, width//2, height)
# 裁剪图像
cropped_image = image.crop(crop_area)
# tuya_img.resize((960, 576),Image.LANCZOS)
torch预处理:
from torchvision import transforms
self.transform = transforms.Compose(
[
# transforms.Resize((576,960), interpolation=transforms.InterpolationMode.BILINEAR),
transforms.ToTensor(),
transforms.Normalize([0.5], [0.5]),
]
)
多边形以外为黑色,
from PIL import Image, ImageDraw
image = Image.open(r"B:\360MoveData\Users\Administrator\Pictures\20230406232151.jpg")
mask = Image.new('L', image.size, 0)
polygon = [(50, 50), (600, 50),(600, 400), (400, 600), (50, 600)] # 多边形的坐标
draw = ImageDraw.Draw(mask)
draw.polygon(polygon, fill=255)
image = image.convert("RGBA")
black_background = Image.new("RGBA", image.size, (0, 0, 0, 255))
result = Image.composite(image, black_background, mask)
result.save('output_image.png')
result.show()