Bin照片按时间拍摄

时间:2014-11-21 09:45:32

标签: python camera exif

我有一组5台相机独立运行。我需要将照片分成5组图像,在1秒钟的时间内拍摄。 我可以访问exif标签,可以识别图像捕获时间。

最好的方法是什么? psuedo-python代码解决方案是首选。

Eg.Input:

Cam1 = [002.jpg, 003,jpg, 008.jpg ...]
Cam2 = [005.jpg, 023,jpg, 081.jpg ...]
Cam3 = [014.jpg, 013,jpg, 009.jpg ...]
Cam4 = [011.jpg, 034,jpg, 049.jpg ...]
Cam5 = [001.jpg, 056,jpg, 081.jpg ...]

预期产出:

Grouped = [[002.jpg, 023.jpg, 013.jpg, 049.jpg, 056.jpg], ......]

此处Grouped[0]的元素都具有相同的时间戳。

1 个答案:

答案 0 :(得分:1)

获取捕获时间与定义的开始时间之间的差异(以秒为单位),并将图像放入带有该键的字典中。

image_dict = collections.defaultdict(list)

for image in images:
    # Will return float
    diff = (capture_time - starting_time).total_seconds()

    image_dict[int(diff)].append(image)

然后您可以将其转换为您的首选格式:

final = []
for key in sorted(image_dict.keys()):
    final.append(image_dict[key])