【问题标题】:Bin photos by time taken按拍摄时间分类照片
【发布时间】:2014-11-21 18:02:59
【问题描述】:

我有一组 5 个摄像头,它们彼此独立运行。我需要将照片分成一组 5 张图像,在 1 秒的窗口内拍摄。 我可以访问 exif 标签,并且可以识别图像捕获时间。

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

例如输入:

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]的元素都有相同的时间戳。

【问题讨论】:

    标签: python camera exif


    【解决方案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])
    

    【讨论】:

    • 非常感谢@parchment。我实现了这个方案并使用 python 的日期时间对象来处理时间。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-30
    • 2017-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多