TransparentLC/realesrgan-gui

支持多檔轉換

Closed this issue · 8 comments

目前僅支持單一文檔或單一文件夾轉換,可否支持拖曳不同文件夾內的文檔批次轉換?感激不盡。

对于界面上这两个输入输出的文本框,如果已经设定了要处理 A,然后再把 B 拖到窗口上,那么“处理 B”和“处理 A 和 B”哪个更符合预期呢……

不过如果是一次性拖拽多个文件/文件夹的话可以考虑加入(虽然我自己没有这种需求,最近比较忙所以可能需要等一段时间才会加上),这里顺便记录一下参考的 waifu2x-caffe 的处理逻辑:

  • 多次拖拽的话只将最后一次拖拽的文件/文件夹作为输入。
  • 可以一次拖拽多个文件/文件夹,此时输入路径会显示为“Multi File”,默认的输出路径是“第一个文件(去掉扩展名)/文件夹的路径再接上模型、放大倍数等处理参数”的文件夹。放大后的文件/文件夹都在这个文件夹下。

如果是多檔轉換,輸出路徑如果行的話最好是各文檔的原路徑。

确实也遇到这个需求了,比如散落在不同目录里面的需要处理的文件夹,如果能支持多个文件夹同时拖入的话,那就太方便了。不用一个个打开处理,如果都集中到一个文件夹,处理完还需要再折回来,就有点麻烦了,哈哈。主要文件多的话,超分时间一般都要好久。😂

加上了,可以试试有没有问题。

  • 输入和输出路径用 | 分隔(Linux 下不禁止在文件名中使用 |,不过我觉得实际中没有人会这么做吧),一一对应
  • 可以将多个文件/文件夹拖拽到 GUI 或主程序上(多次拖拽路径会覆盖,不考虑合并)
  • 可以在点击输入的“浏览”时选择多个文件(文件夹不行,输出的“浏览”也不行)
  • 自动设定输出路径的方式不变,修改放大尺寸计算方式或模型时会自动设定所有的输出路径,在设定输入路径后自己又手动修改过输出路径的话则不会设定

试过了,完美,感谢🤞

好像有个bug,下面两个图片文件报错了。用2024-03-08号的那一版本却是OK的,辛苦看下呢?

mea05.zip

Traceback (most recent call last):
File "task.py", line 376, in taskRunner
File "task.py", line 149, in run
File "", line 322, in decode
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd7 in position 3: invalid continuation byte

和图片没有关系,可能是因为你用的是 realesrgan-ncnn-vulkan 而不是 upscayl-bin,同时文件路径里有中文。

realesrgan-ncnn-vulkan 的 stdout 用的是 ANSI 编码,但是 upscayl-bin 用的是 UTF-8。之前 upscayl-bin 在输出里添加了 Emoji(#75)就弄出过一次编码问题,不过我当时改成全部使用 UTF-8 了。

现在应该没问题了。

和图片没有关系,可能是因为你用的是 realesrgan-ncnn-vulkan 而不是 upscayl-bin,同时文件路径里有中文。

realesrgan-ncnn-vulkan 的 stdout 用的是 ANSI 编码,但是 upscayl-bin 用的是 UTF-8。之前 upscayl-bin 在输出里添加了 Emoji(#75)就弄出过一次编码问题,不过我当时改成全部使用 UTF-8 了。

现在应该没问题了。

嗯嗯,这些完美了🤞