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)