Stable Diffusion 图像生成 GUI 应用:图像缩放等五个优化——SD界面学习记录
本篇续前面Stable Diffusion+Pyqt5实现图像生成和管理界面,链接如下:
Stable Diffusion+Pyqt5: 实现图像生成与管理界面(带保存 + 历史记录 + 删除功能)——我的实验记录(结尾附系统效果图)-CSDN博客
前面功能较简,为提升用户体验,这篇是一个基于 PyQt5 的 GUI 应用,简化了 Stable Diffusion 的图像生成过程,优化后包含另存为、缩放等功能,通过多项优化增强了功能性和灵活性。以下是优化前后的对比以及改进的核心内容。
目录
优化前的功能编辑
优化后的界面
优化一
优化二
优化三
优化四
优化五
总结
优化前的功能

初始版本已具备基本功能,但存在以下局限性:
-
图像生成与提示词输入:用户输入提示词后,点击生成按钮,异步调用模型生成图像。
-
历史记录管理:通过
QListWidget
显示已生成图像和提示词,支持逐一删除。 -
状态反馈:通过
QTextEdit
显示生成过程中的状态,如开始、完成、错误。
局限性:
-
图像管理单一,缺少批量删除功能(后续优化点)。
-
生成参数固定,无法调整推理步数或优化强度(优化点,后可调)。
-
图像预览固定大小,无法查看细节(优化点,后可放大)。
-
没有搜索功能,历史记录难以管理。
-
图像保存路径固定(后加另存为功能,可存到本地)。
优化后的界面

针对以上问题,我进行了五项主要优化:
优化一
另存为功能:用户可以通过点击“另存为”按钮选择路径保存图像。
实现:添加 QPushButton
和 QFileDialog
,实现图像路径自定义保存。


优化二
批量删除历史图像:支持多选历史图像,批量删除选中的文件。
实现:在 QListWidget
中启用多选模式,修改删除逻辑,批量移除文件。

优化三
图像预览缩放:支持通过鼠标滚轮缩放图像预览。
实现:为 QLabel
添加滚轮事件监听,动态调整图像显示比例。
缩放效果(前):
缩放效果(后):
优化四
自定义生成参数:用户可调整推理步数和优化强度(如 num_inference_steps
和 strength
)。
实现:通过 QSpinBox
和 QDoubleSpinBox
控件调整生成参数
尝试修改参数,优化强度0.3改为0.6,推理步数30改为15步,点击开始生成:
A cute little Asian girl playing with her dog in a little princess dress一个可爱的亚洲小女孩在和狗狗玩耍,穿着小公主裙
优化五
A cute little boy in short sleeves is playing soccer with a kitten on a soccer field
一个可爱小男孩穿着短袖在和小猫踢足球,在足球场上。
历史记录搜索:通过搜索框过滤历史记录,可以按提示词或文件名查找。
实现:为 QLineEdit
添加监听,实现动态筛选历史记录。
搜索00:
搜索006:
总结
优化后,应用的功能和交互性得到了显著提升。用户不仅可以更灵活地保存和管理图像,还可以根据需求调整生成参数,查看图像细节,并高效搜索历史记录。通过这些改进,整个应用变得更加实用,且仍保持简洁高效。
深度学习项目记录·Stable Diffusion从零搭建、复现笔记-CSDN博客
Stable Diffusion+Pyqt5: 实现图像生成与管理界面(带保存 + 历史记录 + 删除功能)——我的实验记录(结尾附系统效果图)-CSDN博客
SD + Contronet,扩散模型V1.5+约束条件后续优化:保存Canny边缘图,便于视觉理解——stable diffusion项目学习笔记-CSDN博客