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接口没有显示指定生成图像的宽和高,那么该规整值就是最终图像的生成尺寸。 

相关推荐

  1. 图像处理图像分割

    2024-05-01 09:00:03       7 阅读
  2. Pytorchresize和reshape

    2024-05-01 09:00:03       30 阅读
  3. 图像处理常用距离

    2024-05-01 09:00:03       36 阅读
  4. ActiViz图像处理vtkImageActor

    2024-05-01 09:00:03       30 阅读
  5. ActiViz图像处理vtkImageViewer2

    2024-05-01 09:00:03       22 阅读
  6. YOLO图像处理及格式转换

    2024-05-01 09:00:03       22 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-01 09:00:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-01 09:00:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-01 09:00:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-01 09:00:03       20 阅读

热门阅读

  1. 大数据开发——PostgreSQL

    2024-05-01 09:00:03       10 阅读
  2. GIT使用

    GIT使用

    2024-05-01 09:00:03      9 阅读
  3. FFmpeg基础知识详解:音频视频处理的强大工具

    2024-05-01 09:00:03       15 阅读
  4. 使用Redis实现游戏排行榜

    2024-05-01 09:00:03       15 阅读
  5. 【C++之模板进阶知识】

    2024-05-01 09:00:03       11 阅读
  6. express graphql增删改查

    2024-05-01 09:00:03       10 阅读
  7. 4.30进程

    2024-05-01 09:00:03       10 阅读
  8. 2024-04-30 区块链-加密数字货币-法律风险-分析

    2024-05-01 09:00:03       12 阅读
  9. pnpm:基础使用及详解

    2024-05-01 09:00:03       13 阅读
  10. C语言-预处理

    2024-05-01 09:00:03       9 阅读
  11. Hardened Ubuntu 24.04 LTS发布

    2024-05-01 09:00:03       12 阅读