过年的对联活啦!

★★★ 本文源自AI Studio社区精品项目,【点击此处】查看更多精品内容 >>>


让过年的对联“活”过来!

该项目旨在让过年家家户户所贴的对联以图像或视频的形式“活”的展现出来,为此我借用了百度强大的文心大模型,通过超大量级的训练,让AI负责作画与理解对联的意思,并且我们还添加了自动对联生成模块,帮助不会写对联的你也能写出一对平仄工整的对联。
如:五湖四海迎财神,万紫千红福气到


那么,具体到底该怎么操作呢

获取API Key
您可以登录大模型开放API获取您的专属获取您的专属 API Key(AK)和Secret Key(SK),点击链接查看您的AK和SK。请注意保护您的密钥信息,避免泄露。您可以通过删除已泄露的密钥来保护您的账户安全。

调用方式
在本地Python环境调用接口
安装wenxin-api工具包
pip install --upgrade wenxin-api
*注意:建议python版本在python 3.7及以上版本

pip install --upgrade wenxin-api #安装所需要的包
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Collecting wenxin-api
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/23/c0/b2c63ca634c30d204f2c6bf2c183f70eeaa985db1a30b5d78380b40f34dd/wenxin_api-0.0.5.1-py3-none-any.whl (24 kB)
Requirement already satisfied: tqdm in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from wenxin-api) (4.27.0)
Requirement already satisfied: requests>=2.20 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from wenxin-api) (2.24.0)
Requirement already satisfied: certifi>=2017.4.17 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from requests>=2.20->wenxin-api) (2019.9.11)
Requirement already satisfied: idna<3,>=2.5 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from requests>=2.20->wenxin-api) (2.8)
Requirement already satisfied: chardet<4,>=3.0.2 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from requests>=2.20->wenxin-api) (3.0.4)
Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from requests>=2.20->wenxin-api) (1.25.6)
Installing collected packages: wenxin-api
Successfully installed wenxin-api-0.0.5.1

[1m[[0m[34;49mnotice[0m[1;39;49m][0m[39;49m A new release of pip available: [0m[31;49m22.1.2[0m[39;49m -> [0m[32;49m22.3.1[0m
[1m[[0m[34;49mnotice[0m[1;39;49m][0m[39;49m To update, run: [0m[32;49mpip install --upgrade pip[0m
Note: you may need to restart the kernel to use updated packages.
#然后调用我们文心的文生图接口模块
# -*- coding: utf-8 -*
import wenxin_api # 可以通过"pip install wenxin-api"命令安装
from wenxin_api.tasks.text_to_image import TextToImage
wenxin_api.ak = #这两段需要你自己申请的ak和sk
wenxin_api.sk = 
input_dict = {
    "text": "五湖四海财神到,万紫千红福气来",#这里是填写你需要使用的对联
    "style": "概念艺术",
    "resolution": "1024*1024"
}
rst = TextToImage.create(**input_dict)
print(rst)
  File "/tmp/ipykernel_398/1445405948.py", line 5
    wenxin_api.ak = #这两段需要你自己申请的ak和sk
                                     ^
SyntaxError: invalid syntax

如果你不会写对联,文心还可以为你创作对联

# -*- coding: utf-8 -*
import wenxin_api # 可以通过"pip install wenxin-api"命令安装
from wenxin_api.tasks.couplet import Couplet
wenxin_api.ak = #这两段需要你自己申请的ak和sk
wenxin_api.sk = 
input_dict = {
    "text": "上联:五湖四海皆春色\n下联:",#这里填入你想到的上联
    "seq_len": 512,
    "topp": 0.9,
    "penalty_score": 1.0,
    "min_dec_len": 2,
    "is_unidirectional": 0,
    "task_prompt": "couplet"
}
rst = Couplet.create(**input_dict)
print(rst)

下面我们还可以将生成的图片转为视频形式,配上合适的音乐,比如好日子,财神到等等等等,让喜庆的氛围更上一层

# Step1:添加字幕
import cv2

from PIL import ImageFont
from PIL import Image
from PIL import ImageDraw
from moviepy import *
from moviepy.editor import *

# 该字体使用时需要获取授权,此处也可以更换其他字体
font = ImageFont.truetype("siyuanheiti.otf", 50)#设置字体和字体大小

final_img_paths = dict()
for step_id in img_paths:
    for img_path in img_paths[step_id]:
        im = Image.open(img_path)
        # 在图片上添加文字
        draw = ImageDraw.Draw(im)
        draw.text((100, 900), words[step_id] ,(255, 180, 0), font=font) #分别设置文字的xy坐标,文字内容,文字颜色,字体

        path = img_path.replace("temp_img", "img")
        im.save(path)
        if step_id in final_img_paths:
            final_img_paths[step_id].append(path)
        else:
            final_img_paths[step_id] = [path]

# Step2:合成视频 - FPS为1
video = cv2.VideoWriter('test.mp4',cv2.VideoWriter_fourcc(*'mp4v'), 1, (1024, 1024))

end_time = times[-1]
step = 0
for t in range(end_time):
    if step + 1 == len(times) and t == end_time:
        break
    img_id = t % 12 # 两秒一张图(6张存货 * 2)
    if times[step] < t <= times[step + 1]:
        img = cv2.imread(final_img_paths[step][img_id // 2]) 
        video.write(img)
    if t == times[step + 1]:
        step += 1

video.release()

# Step3:添加声音
video_path = 'test.mp4'
audio_path = 'PPDE.mp3'
# 提取音轨
audio = AudioFileClip(audio_path)
# 读入视频
video = VideoFileClip(video_path)
# 将音轨合并到视频中
video = video.set_audio(audio)
# 输出
video.write_videofile("output.mp4", audio_codec="aac")
print("-------生成完毕-------")

生成完毕后在左侧文件列表中找到output.mp4并右键下载即可

总结一下:该项目调用了文心大模型的文生图接口和文本接口,实现了抽象概念的图像生成,就是有些细节还需要更加精雕细琢,比如元宝和锦鲤还有人物模型还可以更好,更细节。感受到了文心大模型给我们带来的便利和傻瓜式操作,大数据的美展现的淋漓尽致

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值