TypeError: ufunc 'add' не содержит цикла с типами соответствия сигнатуры dtype (' - PullRequest
0 голосов
/ 23 октября 2018

Я читаю изображения из каталогов, и, просматривая имена файлов, я получаю сообщение об ошибке, указанное в заголовке.Переменная 'imagePath' - это путь к изображению на моей локальной машине.Когда 'np.fromfile (imagePath)' удален, код запускается, он даже печатает путь к изображению, но взрывается, когда я пытаюсь прочитать их с помощью numpy.

def getTrainingDataFromFile():
for subdir, dirs, images in os.walk(directory):
    for sub, dirs, images in os.walk(subdir):
        for currentImage in images:
            imagePath = str(os.getcwd() + "/" + sub.replace("./", "") + "/" + currentImage)
            if '.jpg' in imagePath:
                face = np.fromfile(imagePath)
                images.append(face)

TypeError Traceback (последний вызов был последним)

<ipython-input-8-ce35c0ab49e6> in <module>()
----> 1 getTrainingDataFromFile()

<ipython-input-7-ae9589186aa3> in getTrainingDataFromFile()
     16         for sub, dirs, images in os.walk(subdir):
     17             for currentImage in images:
---> 18                 thisImage = str(os.getcwd() + "/" + sub.replace("./", "") + "/" + currentImage)
     19                 if '.jpg' in thisImage:
     20                     face = np.fromfile(thisImage,dtype=np.uint8)

TypeError: ufunc 'add' не содержал цикл с типами соответствия сигнатуры dtype ('

1 Ответ

0 голосов
/ 23 октября 2018

Вы используете переменную images для хранения:

  1. Список имен файлов
  2. Список изображений

В результатевы в конечном итоге делаете

"/" + "file1.png"
"/" + "your-gravatar.jpg"
"/" +

И в последнем случае это, очевидно, дает сбой.

Попробуйте выбрать два разных имени переменной.

...