Я относительно новичок в программировании на Python и использовании OpenCV (и используя stackoverflow), однако я не могу найти никого другой, кто столкнулся с этой проблемой. Я пытаюсь написать базовую программу распознавания лиц, основанную на различных обучающих программах, однако у меня возникает проблема с выходом detectMultiScale в этой части кода.Python - выход OpenCV, detectMultiScale не содержит запятых, разделяющих значения x, y, h, w
for image_path in image_paths:
predict_image_pil = Image.open(image_path).convert('L')
predict_image = np.array(predict_image_pil, 'uint8')
faces = faceCascade.detectMultiScale(predict_image)
for (x, y, w, h) in faces:
nbr_predicted, conf = recognizer.predict(predict_image[y: y + h, x: x + w])
nbr_actual = int(os.path.split(image_path)[1].split(".")[0].replace("subject", ""))
Я неоднократно получал «TypeError:„INT“объект не итерацию» ошибка всякий раз, когда я запустил программу, это заставило меня проверить, что «лица», на самом деле список отдельных значений. После запуска этой слегка измененной части кода стало очевидно, что это не так.
for image_path in image_paths:
predict_image_pil = Image.open(image_path).convert('L')
predict_image = np.array(predict_image_pil, 'uint8')
faces = faceCascade.detectMultiScale(predict_image)
print faces
отпечатан на консоль
[[108 55 154 154]]
[[116 62 152 152]]
[[ 95 76 139 139]]
[[118 57 152 152]]
[[107 53 152 152]]
[[ 32 59 153 153]]
[[101 84 137 137]]
[[ 92 53 152 152]]
[[ 85 77 141 141]]
[[ 96 55 156 156]]
[[108 69 145 145]]
[[ 94 47 159 159]]
[[112 83 137 137]]
[[ 56 68 149 149]]
[[103 77 142 142]]
Это, как представляется, печатаю XYWH координаты без запятых отделяя их, это было бы причиной TypeError?
Если нет, что могло бы вызвать эту проблему? Там может быть какая-то действительно очевидная вещь, которую я пропускаю. Чтобы получить модуль лиц, мне пришлось строить opencv из источника с помощью cmake и visual studio, однако я не уверен, что это может быть причиной.
Я запускаю WinPython 64bit 2.7.10.3 и последнюю (стабильную) версию OpenCV, построенную из исходного кода.
Есть ли какая-либо другая функция в текущей реализации, которая может обеспечить уверенность в функции прогнозирования? Я использую open cv-3.1.0 вместе с открытым cv contrib. – user1452759
Не так давно я работал над этим, но в то время не было альтернативы. Тем не менее, это может измениться. Извините, я не могу быть более полезным. –