Вместо того, чтобы использовать модуль os, я использовал модуль glob и внес небольшие изменения в функцию main ().Ниже приведен код для этого
import argparse
import cv2
import glob
ap = argparse.ArgumentParser()
ap.add_argument("-d", "--dataset", required=True, help= "Path to test dataset")
ap.add_argument("-t", "--threshold", type = int, default = 128, help =
"Threshold value")
args = vars(ap.parse_args())
path_to_save = "D:/downloads/"
def main():
i = 0
for filename in glob.glob(args['dataset']):
image = cv2.imread(filename)
image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
image = cv2.resize(image, (200, 200))
ret, image = cv2.threshold(image, 150, 255, cv2.THRESH_BINARY)
cv2.imwrite(path_to_save + str(i) + '.jpg', image)
i += 1
if __name__ == '__main__':
main()
Если вы знакомы с glob, вы должны знать, как задать аргумент Path to dataset.Если нет, то вот пример того, как вы должны действовать:
-d "D: / downloads /*.*" означает захват всех файлов (путей) в указанной папке
-d 'D: / downloads / *. jpg' означает захват только файлов jpg в папке