Python OpenCV无效的文字错误

时间:2017-07-27 11:44:44

标签: python opencv

我有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

的答案

1 个答案:

答案 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)