Spaces:
Running
Running
import os | |
import re | |
from sys import argv, exit | |
import csv | |
import numpy as np | |
def natural_sort(l): | |
convert = lambda text: int(text) if text.isdigit() else text.lower() | |
alphanum_key = lambda key: [ convert(c) for c in re.split('([0-9]+)', key) ] | |
return sorted(l, key = alphanum_key) | |
def getPairs(imgs): | |
queryIdxs = np.linspace(start=0, stop=len(imgs)-1, num=10).astype(int).tolist() | |
databaseIdxs = np.linspace(start=10, stop=len(imgs)-10, num=100).astype(int).tolist() | |
queryImgs = [imgs[idx] for idx in queryIdxs] | |
databaseImgs = [imgs[idx] for idx in databaseIdxs] | |
return queryImgs, databaseImgs | |
def writeCSV(qImgs, dImgs): | |
with open('rtImagesDepth.csv', 'w', newline='') as file: | |
writer = csv.writer(file) | |
title = [] | |
title.append('query') | |
for i in range(len(dImgs)): | |
title.append('data' + str(i+1)) | |
writer.writerow(title) | |
for qImg in qImgs: | |
row = [] | |
row.append(qImg) | |
for dImg in dImgs: | |
row.append(dImg) | |
writer.writerow(row) | |
if __name__ == '__main__': | |
rgbDir = argv[1] | |
rgbImgs = natural_sort([file for file in os.listdir(rgbDir) if (file.find("jpg") != -1 or file.find("png") != -1)]) | |
rgbImgs = [os.path.join(rgbDir, img) for img in rgbImgs] | |
queryImgs, databaseImgs = getPairs(rgbImgs) | |
writeCSV(queryImgs, databaseImgs) |