ai动漫代码 一些关于动漫的代码

智能机器人 2025-09-04 08:23www.robotxin.com人工智能机器人

import requests

import base64

获取access_token

def get_token:

host = '

response = requests.get(host)

return response.json["access_token"]

动漫化处理

def img2anime(img_path):

request_url = "

with open(img_path, 'rb') as f:

img = base64.b64encode(f.read)

params = {"image":img}

access_token = get_token

request_url += "?access_token=" + access_token

headers = {'content-type': 'application/x--form-urlencoded'}

response = requests.post(request_url, data=params, headers=headers)

return response.json

from google import genai

from PIL import Image

设置API Key

genai.configure(api_key='你的API_KEY')

生成宫崎骏风格

def generate_ghibli_style(img_path):

img = Image.open(img_path)

model = genai.GenerativeModel('gemini-pro-vision')

response = model.generate_content([

将这张图片转为宫崎骏动画风格",

img])

return response.images[0]

import cv2

import onnxruntime as rt

加载预训练模型

sess = rt.InferenceSession('anime_model.onnx')

def frame2anime(frame):

预处理

inp = cv2.resize(frame, (256,256)).astype('float32')/127.5

  • 1
  • inp = inp.transpose(2,0,1)[np.newaxis,...]

    推理

    out = sess.run(None, {'input': inp})[0]

    后处理

    out = (out.squeeze.transpose(1,2,0) + 1) 127.5

    return out.astype('uint8')

    处理整个视频

    def video_process(video_path):

    cap = cv2.VideoCapture(video_path)

    while cap.isOpened:

    ret, frame = cap.read

    if not ret: break

    anime_frame = frame2anime(frame)

    cv2.imshow('Anime', anime_frame)

    if cv2.waitKey(1) == ord('q'): break

    cap.release

    import torch

    import torch.nn as nn

    生成器网络

    class Generator(nn.Module):

    def __init__(self):

    super.__init__

    self.main = nn.Sequential(

    nn.ConvTranspose2d(100, 512, 4, 1, 0, bias=False),

    nn.BatchNorm2d(512),

    nn.ReLU(True),

    nn.ConvTranspose2d(512, 256, 4, 2, 1, bias=False),

    nn.BatchNorm2d(256),

    nn.ReLU(True),

    nn.ConvTranspose2d(256, 128, 4, 2, 1, bias=False),

    nn.BatchNorm2d(128),

    nn.ReLU(True),

    nn.ConvTranspose2d(128, 3, 4, 2, 1, bias=False),

    nn.Tanh

    def forward(self, input):

    return self.main(input)

    生成示例

    def generate_samples(generator, num_samples):

    noise = torch.randn(num_samples, 100, 1, 1)

    fake_images = generator(noise)

    return fake_images

    import torch

    from diffusers import StableDiffusionPipeline

    pipe = StableDiffusionPipeline.from_pretrained(

    stabilityai/stable-diffusion-2-1",

    torch_dtype=torch.float16)

    pipe = pipe.to("cuda")

    prompt = "Pixar style character portrait of a person, bright colors, soft lighting

    image = pipe(prompt).images[0]

    image.save("pixar_style.png")

    Copyright © 2016-2026 www.robotxin.com 人工智能机器人网 版权所有 Power by