png 矢量图 RGBA 转 RGB后变黑问题解决

from PIL import Image
import cv2
from torchvision import utils as vutils

关键代码:

im = cv2.imread('20.png')
new_im = 255 - im * 3
cv2.imwrite('new.png', new_im)

demo:

def demo1():
    img_path = '/Users/wangguisen/Documents/markdowns/AI-note/元宇宙/text2img/data/svg_data/1_Business/3.png'

    instance_image = Image.open(img_path)

    print(instance_image)

    if not instance_image.mode == "RGB":
        instance_image = cv2.cvtColor(np.asarray(instance_image), cv2.COLOR_RGBA2RGB)

        print(instance_image.shape)

        cv2.imwrite('/Users/wangguisen/Documents/markdowns/AI-note/元宇宙/text2img/data/svg_data/11.png', instance_image)

        instance_image = 255 - instance_image * 3

        cv2.imwrite('/Users/wangguisen/Documents/markdowns/AI-note/元宇宙/text2img/data/svg_data/22.png', instance_image)

    instance_image = Image.fromarray(instance_image)

    image_transforms = transforms.Compose(
        [
            transforms.Resize(200, interpolation=transforms.InterpolationMode.BILINEAR),
            transforms.CenterCrop(200) if False else transforms.RandomCrop(200),
            transforms.ToTensor(),
            transforms.Normalize([0.5], [0.5]),
        ]
    )
    instance_image = image_transforms(instance_image)

    ppp = '/Users/wangguisen/Documents/markdowns/AI-note/元宇宙/text2img/data/svg_data/33.png'
    vutils.save_image(instance_image, ppp, normalize=False)
<PIL.PngImagePlugin.PngImageFile image mode=RGBA size=512x512 at 0x7FD563A15D90>
(512, 512, 3)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_42363032/article/details/129177507
今日推荐