stable diffusion controlnet前处理中的图像resize

在SD controlnet应用中,一般都要先安装controlnet_aux,并在项目代码中import相关前处理模块,如下所示。

在对control image进行前处理(比如找边缘,人体特征点)之前,往往会图像进行resize,这个resize函数定义在controlnet_autx中util.py中,无论是scribble,还是openpse或其它功能,都会调用这段resize代码。同时如果调用pipe接口时没有显示指定图像生成的宽和高,那么生成的图像size将会基于control image前处理后的宽高值。 所以这里重点讨论下controlnet前处理中的resize函数。

先上代码:

复制代码
def resize_image(input_image, resolution):
    H, W, C = input_image.shape
    H = float(H)
    W = float(W)
    k = float(resolution) / min(H, W)
    H *= k
    W *= k
    H = int(np.round(H / 64.0)) * 64
    W = int(np.round(W / 64.0)) * 64
    img = cv2.resize(input_image, (W, H), interpolation=cv2.INTER_LANCZOS4 if k > 1 else cv2.INTER_AREA)
    return img

在前处理接口会有一个参数detect_resolution,其缺省值为512。它会传给上面resize函数的resolution。它会将宽或高的较小值设成512,然后对应的高或宽按原始图像等比例缩放。 此外,还要对等比例缩放后的宽、高值进行微调确保能被64整除。 所以即使原始control image的尺寸是一些比较随意的值,但是经过前处理后的size都会被整归成能被64整除的值。前面说过,如果pipe接口没有显示指定生成图像的宽和高,那么该规整值就是最终图像的生成尺寸。

相关推荐
月疯3 天前
Stable Diffusion是如何生成视频
人工智能·stable diffusion
Eric.4611 天前
2026 AI 漫剧叙事可控性深度工程:解决逻辑崩坏、镜头错乱、道具漂移的高阶落地方案
人工智能·stable diffusion·comfyui·ai漫剧
Eric.4612 天前
用 Stable Diffusion 做 AI 漫剧:从静态分镜到动态漫视频的完整工程链路
人工智能·深度学习·stable diffusion·音视频·ai漫剧
Eric.4613 天前
AI漫剧量产Prompt参数实操手册:Stable Diffusion+ComfyUI+OpenClaw通用复制即用配置
人工智能·深度学习·stable diffusion·prompt·ai漫剧
Eric.4613 天前
OpenClaw 结合 Stable Diffusion 与 ComfyUI 实现本地离线 AI 漫剧全自动流水线|批量渲染、人设一致性、帧闪烁问题工程实践
人工智能·stable diffusion·comfyui·ai漫剧
Eric.4613 天前
Stable Diffusion+ComfyUI+OpenClaw AI漫剧量产提示词工程:结构化Prompt、负面词脱敏、权重锁定防画面崩坏全方案
大数据·人工智能·stable diffusion·prompt·comfyui·ai漫剧
Eric.4613 天前
AI 漫剧量产实战:StableDiffusion 帧稳画算法 + ComfyUI 自动质检流水线搭建(附完整代码 + 配置)
人工智能·深度学习·stable diffusion·comfyui·ai漫剧
MarkHD15 天前
Stable Diffusion入门第19-20天:保存与分享你的工作流——第一阶段收官,从“能用”到“可复用”
java·开发语言·stable diffusion
普通网友20 天前
Stable Diffusion 3.5 FP8镜像推出限量免费Token领取活动
stable diffusion·stability ai·fp8
seiji morisako20 天前
Stable-Diffusion-v1-5-archiveWeb服务安全加固:反爬虫/限流/鉴权中间件配置
web安全·stable diffusion·nginx配置·ai部署