仅做笔记用:Stable Diffusion 获取历史生成图片的 prompt

不知怎么搞的,图库浏览器点开图片看不到生成图片的信息了。但是据信这些信息是写在 PNG 数据的某个附加区段的(参考博客文章《Python - PNG图掺入隐藏文本信息》)。Stable Diffusion 原生支持读取这些信息。并且除了图库浏览器,还有一个地方可以读取。

从资源管理器里面 SD 目录的 outputs/txt2img-images里面找到要读取信息的图片。在 SD WebUI 中切换到“图片信息”选项卡,然后将图片拖进来,即可在右侧看到图片生成时输入的 prompt,以及 negative prompt、CFG、步数、模型信息、种子值、分辨率等。(参考博客文章《Stable-Diffusion:图片信息(PNG Info)功能介绍》)

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
好的!以下是一个使用Python编写的stable diffusion模型生成图片的代码示例: ```python import numpy as np from PIL import Image # 定义stable diffusion函数 def stable_diffusion(image, alpha, delta_t, iterations): # 获取图像的大小 height, width, channels = image.shape # 初始化变量 u = np.zeros((height, width, channels)) u_new = np.zeros((height, width, channels)) # 将输入图像转换为浮点数类型 image = image.astype(np.float32) # 初始化u和u_new u[:] = image u_new[:] = image # 定义Laplacian算子 laplacian = np.array([[0, 1, 0], [1, -4, 1], [0, 1, 0]]) # 迭代stable diffusion模型 for i in range(iterations): # 计算Laplacian of u lu = np.zeros((height, width, channels)) for c in range(channels): lu[:, :, c] = np.abs(np.fft.fftshift(np.fft.ifft2(np.fft.fft2(u[:, :, c]) * np.fft.fft2(laplacian, s=u.shape[:2], axes=(0, 1))))).real # 更新u_new u_new = u + delta_t * (lu ** alpha) * laplacian # 更新u u[:] = u_new # 将u转换为整数类型 u = u.astype(np.uint8) # 返回u return u # 加载图像 image = np.array(Image.open('input.jpg')) # 运行stable diffusion模型 alpha = 1.0 delta_t = 0.1 iterations = 100 output_image = stable_diffusion(image, alpha, delta_t, iterations) # 显示结果图像 Image.fromarray(output_image).show() # 保存结果图像 Image.fromarray(output_image).save('output.jpg') ``` 你可以将上述代码保存在一个.py文件中,然后使用Python解释器运行。请确保在代码中替换`input.jpg`和`output.jpg`为你所需的图像文件名。此外,你还可以尝试调整`alpha`,`delta_t`和`iterations`参数来获得不同的结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值