Views
No views yet
alibaba-pai/pai-diffusion-general-large-zh 的 ControlNet,输入图像的 Canny 特征,进行可控的生成。1from diffusers import StableDiffusionControlNetPipeline, ControlNetModel
2from PIL import Image
3import numpy as np
4import cv2
5
6
7def to_canny(image):
8 low_threshold = 100
9 high_threshold = 200
10 image = np.array(image)
11 image = cv2.Canny(image, low_threshold, high_threshold)
12 image = image[:, :, None]
13 image = np.concatenate([image, image, image], axis=2)
14 image = Image.fromarray(image)
15 return image
16
17controlnet_id = "alibaba-pai/pai-diffusion-general-large-zh-controlnet-canny"
18controlnet = ControlNetModel.from_pretrained(controlnet_id)
19model_id = "alibaba-pai/pai-diffusion-general-large-zh"
20pipe = StableDiffusionControlNetPipeline.from_pretrained(model_id, controlnet=controlnet)
21pipe = pipe.to("cuda")
22
23image = Image.open("bird.png")
24image_canny = to_canny(image)
25prompt = "白色羽毛的小鸟"
26image = pipe(prompt, image_canny).images[0]
27image.save("result.png")