你能用鸽子来注释文件夹中的所有图像吗

can you use pigeon to annotate all images in a folder

对于机器学习项目,我想用是或否标记文件夹中的图像。

我找到了这个很棒的工具;鸽子.. https://github.com/agermanidis/pigeon

但在线提供的示例要求用户提供脚本中所有文件的名称。我一直无法找到将脚本指向文件夹而不是包含所有图像名称的方法。

有没有一种方法可以只向文件夹提供 link。

from pigeon import annotate
from IPython.display import display, Image

annotations = annotate(
  ['assets/img_example1.jpg', 'assets/img_example2.jpg'],
  options=['cat', 'dog', 'horse'],
  display_fn=lambda filename: display(Image(filename))
)

我做了一个 for 循环,遍历一个文件夹并用图像名称填充一个列表。然后只需调用列表代替

['assets/img_example1.jpg', 'assets/img_example2.jpg']

一种可能的解决方案是仅列出您感兴趣的文件夹中的所有文件。在这种情况下,您只需提供文件夹的路径(绝对或相对)并使用 os.listdir 获取所有文件在该文件夹中。

然后我使用 os.path.join 获取文件路径并将文件路径列表传递给 annotate

from pigeon import annotate
from IPython.display import display, Image
import os

path = "assets"
imgs = os.listdir(path)
imgs = [os.path.join(path, img) for img in imgs]

annotations = annotate(
  imgs,
  options=['cat', 'dog', 'horse'],
  display_fn=lambda filename: display(Image(filename))
)