2014-11-21 109 views
0

我有一套5臺相互獨立的相機。我需要將照片分成5組圖像,在1秒鐘的窗口內拍攝。 我可以訪問exif標籤並可以識別圖像捕獲時間。Bin照片拍攝時間爲

這樣做的最佳方法是什麼? 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

獲取捕獲時間和定義的開始時間之間的差異(以秒爲單位),並將圖像放入帶有該鍵的字典中。

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]) 
+0

非常感謝@parchment。我實現了這個方案,並使用python的日期時間對象來處理時間。 – nav 2014-11-24 19:38:18