如何加载、深梦和覆盖文件夹中的所有图像?

How to load, deep dream and overwrite all images in a folder?

到目前为止,我已经能够通过替换

中的 'picture' 来“'manually'”处理图像
photo = ''directory/picture.jpg''

对于我正在处理的每张图片。

这确实有效,但速度很慢。

有什么想法吗?

我使用的代码:

from deepdreamer import model, load_image, recursive_optimize
import numpy as np
import PIL.Image
layer_tensor = ...

photo = "directory/picture.jpg"
img_result = load_image(filename='{}'.format(photo))

img_result = recursive_optimize(...)
img_result = np.clip(img_result, 0.0, 255.0)
img_result = img_result.astype(np.uint8)
result = PIL.Image.fromarray(img_result, mode='RGB')
result.save(photo)

假设所有图像文件都在同一个 folder/directory,你可以:

  1. 将你的图像处理封装成一个函数。
  2. 使用 os.listdir() 查找所有文件名。
  3. 遍历文件名,将每个文件名传递给 imageProcessing() 对每个图像采取行动的功能。

Python代码:

from deepdreamer import model, load_image, recursive_optimize
import numpy as np
import PIL.Image
import os //for file management stuff

layer_tensor = ...

def imageProcess(aFile):
  photo = "directory/{aFile}"
  img_result = load_image(filename='{}'.format(photo))

  img_result = recursive_optimize(...)
  img_result = np.clip(img_result, 0.0, 255.0)
  img_result = img_result.astype(np.uint8)
  result = PIL.Image.fromarray(img_result, mode='RGB')
  result.save(photo)

for filename in os.listdir('dirname'):
     imageProcess(filename)

会是这样的。让我知道它是如何工作的,我没有 运行 代码。