我有ValueError: invalid literal for int() with base 10: '.DS'
错误。我正在寻找一天的解决方案,但我无法解决它。我的目录不是空的。我正在尝试使用OpenCV训练一个facerecognizer。我想从我的train
目录中获取面部照片,但我不能。
我的代码:
images = []
labels = []
for file in os.listdir('train/'):
image = cv2.imread('train/'+file, 0)
images.append(image)
labels.append(int(file.split('_')[0]))
列车中的照片命名为1_001.pmg,1_002.pmg等。我正在为我的愚蠢问题寻求帮助。谢谢!
PS。这段代码来自@Fabian how to notify user if there are common faces detected between two directories with python and opencv
的答案答案 0 :(得分:0)
问题在于os.listdir('train/')
,因为它返回给定目录中可能隐藏的所有文件的列表,'.DS_Store'
也在这些文件中,您需要检查是否在将.png
传递给cv::imread
之前,返回的字符串中包含images = []
labels = []
for file_name in os.listdir('train/'):
if file_name.endswith(".png"):
image = cv2.imread('train/'+file_name, 0)
images.append(image)
labels.append(int(file_name.split('_')[0]))
。
temp = boot(dat, boot_fun, R = 1000)