跳到主要内容

图像编辑:风格迁移

功能描述

图像滤镜一直是许多应用中常见的功能。使用大模型,可以快速实现图像滤镜功能,不需要复杂的图像处理,就能够快速实现多种滤镜效果。

大模型实现滤镜可以通过 图生图、使用 LORA、微调模型等多种方式实现。

本文我们使用风格迁移接口快速实现图像滤镜功能。相比其他方式,风格迁移接口使用简单,效果显著,能够快速实现多种滤镜效果。

支持风格迁移的模型

体验接口效果

功能说明

Serverless API 提供了接口快速体验的界面,可以快速体验接口效果。 打开 Serverless API 页面 ,找到图像生成与处理下的 Kolors 模型,点击进入接口详情页,切换到风格迁移的 API 。

image-20250113153212170

风格迁移接口中,原图指的是想要进行迁移和修改的图片。提示词和 image 是用以指导原图修改的文本和风格图。

类吉卜力风格迁移

接下来我们用这个接口 完成 类吉卜力画风 的 风格迁移。

使用下图,作为参考的图像:

20250113164303_吉卜力风格__小清新

使用一张普通的风景图作为原图。

P1012997

在页面上填入这些图片,为了让产出的图片更贴合原图,我们将 strength 参数设置为0.4。

image-20250113173048253

输出结果如下:

image-20250113173107828

毛茸茸风格迁移

参考图如下:

image-20250114143124824

和前文步骤相同,我们能够通过风格迁移接口快速复制毛茸茸的图片风格。

输入如下:

image-20250114144653414

输出结果如下:

image-20250114144718497

调用风格迁移接口

完成了功能体验和验证后,接下来我们可以通过代码调用,将上述功能集成到自己的应用中。

python
import os
import requests
import base64
from PIL import Image
from io import BytesIO
from requests_toolbelt import MultipartEncoder

API_URL = "https://ai.gitee.com/v1/images/style-migration"
headers = {
"Authorization": "Bearer <your token>",
}

def open_image(img_path):
file_name = os.path.basename(img_path)
return (file_name, open(img_path, "rb"), "application/octet-stream")

def query(payload):
data = {}
for key, value in payload.items():
if key == "image":
continue
if key == "style_image":
continue
if value is None:
data[key] = ""
elif isinstance(value, list):
data[key] = ",".join(map(str, value))
elif isinstance(value, bool):
data[key] = str(value).lower()
else:
data[key] = str(value)

data["image"] = open_image(payload["image"])
data["style_image"] = open_image(payload["style_image"])
multipart_data = MultipartEncoder(fields=data)
headers["Content-Type"] = multipart_data.content_type
response = requests.post(API_URL, headers=headers, data=multipart_data)
return response.json()

output = query({
"model": "Kolors",
"size": "1024x1024",
"steps": 25,
"guidance_scale": 6,
"strength": 0.6,
"scale": 0.5,
"prompt": "将女孩照片转为参考图的 jojo 风格",
"style_image": "jojo.jpeg",
"image": "woman1.png",
})
data = output["data"][0]["b64_json"]

img = Image.open(BytesIO(base64.b64decode(data)))
img.save("img_style.png")
img.show()

使用场景

🎨 艺术创作

  • 绘画风格转换:将照片转换为油画、水彩、素描、国画等艺术风格
  • 动漫风格化:将真实照片转换为动漫、卡通或插画风格
  • 名画风格模仿:模仿梵高、毕加索、莫奈等大师的绘画风格
  • 文化风格融合:融合不同文化背景的艺术特色,如中国风、日式、欧式等

📸 摄影后期

  • 滤镜效果:快速实现复古、胶片、黑白、暖色调等摄影滤镜
  • 氛围营造:调整图片的整体氛围,如梦幻、神秘、温馨等
  • 季节风格:将图片转换为春夏秋冬不同季节的视觉效果
  • 时代风格:营造80年代复古、赛博朋克、蒸汽朋克等时代感

🎮 游戏开发

  • 概念艺术:为游戏场景、角色创建不同风格的概念图
  • 美术风格统一:确保游戏内所有素材保持一致的艺术风格
  • 原画制作:将3D渲染图转换为手绘风格的原画
  • UI风格化:为游戏界面元素应用特定的艺术风格

🎬 影视制作

  • 分镜头设计:为影视作品创建不同风格的分镜草图
  • 后期调色:实现特定的视觉风格和色调效果
  • 动画风格:将真人素材转换为动画风格
  • 特效预览:快速预览不同视觉效果的呈现方式

🏢 商业应用

  • 品牌形象:为企业创建具有品牌特色的视觉风格
  • 产品展示:用不同艺术风格展示产品,增强视觉吸引力
  • 广告创意:快速生成多种风格的广告视觉方案
  • 包装设计:为产品包装应用特定的艺术风格

📱 社交媒体

  • 个人头像:制作具有个性化风格的社交媒体头像
  • 内容创作:为社交平台内容添加独特的视觉风格
  • 表情包制作:创建具有特定风格的表情包和贴纸
  • 短视频素材:为短视频制作统一风格的视觉素材

🏠 室内设计

  • 装修预览:将室内空间图片转换为不同装修风格
  • 风格探索:快速预览现代、古典、工业、北欧等装修风格
  • 色彩搭配:尝试不同的色彩方案和材质效果
  • 氛围设计:营造温馨、简约、奢华等不同的空间氛围

📚 教育培训

  • 艺术教学:帮助学生理解不同艺术风格的特点
  • 创意启发:为学生提供创作灵感和参考素材
  • 历史重现:将现代场景转换为历史时期的视觉风格
  • 文化展示:展示不同文化背景下的艺术表现形式

💼 电商零售

  • 产品风格化:为商品图片应用符合目标用户喜好的风格
  • 场景营造:创建符合品牌调性的购物场景
  • 节日主题:根据不同节日调整商品展示风格
  • 用户个性化:为不同用户群体提供个性化的视觉体验