Не в состоянии работать над распознаванием лиц OpenCV в python - PullRequest
1 голос
/ 16 апреля 2020

В настоящее время я изучаю обнаружение изображений с использованием CNN et c. Я нашел хорошую статью здесь , в которой объясняются шаги по распознаванию лиц с использованием OpenCV. Я следовал за каждым шагом. Но я действительно застрял с нескольких часов, пытаясь проверить один образец изображения. Ниже приведен код, который я использовал в Google Colab:

import cv2
import matplotlib.pyplot as plt
import dlib
import os
from imutils import face_utils
font = cv2.FONT_HERSHEY_SIMPLEX

cascPath=r'C:\Users\randomUser\Desktop\haarcascade_frontalface_default.xml'
eyePath = r'C:\Users\randomUser\Desktop\haarcascade_eye.xml'
smilePath = r'C:\Users\randomUser\Desktop\haarcascade_smile.xml'
faceCascade = cv2.CascadeClassifier(cascPath)
eyeCascade = cv2.CascadeClassifier(eyePath)
smileCascade = cv2.CascadeClassifier(smilePath)

# even if I use the below path, I am still getting the error.
path = r'C:\Users\randomUser\Desktop\imagedata.jpeg'
gray = cv2.imread('imagedata.jpeg')
plt.figure(figsize=(12,8))
plt.imshow(gray, cmap='gray')
plt.show()

Я загрузил все файлы по умолчанию, как указано выше, в папку моего каталога вместе с тестовым изображением imagedata

Однако, когда я выполняю первые несколько шагов, я получаю следующую ошибку: (

Я пытался указать физический путь, но я не понимаю, что мне не хватает.

enter image description here

Я пробежал по различным статьям, которые объясняют природу ошибки, но ни одна из них не помогла, поэтому я подумал спросить здесь напрямую.

Ответы [ 3 ]

0 голосов
/ 16 апреля 2020

Мне кажется, я нашел ошибку:

# This is what you have
path = r'C:\Users\randomUser\Desktop\imagedata.jpeg'
gray = cv2.imread('imagedata.jpeg')

# This is what you should have
path = r'C:\Users\randomUser\Desktop\imagedata.jpeg'
gray = cv2.imread(path) # <-- you weren't using the path of the image

Открытие изображения с помощью PIL?

from PIL import Image

path = r'C:\Users\randomUser\Desktop\imagedata.jpeg'
gray = Image.open(path).convert("L") # L to open the image in gray scale

Не уверен, что это работает: S

Дайте мне знать если бы это помогло! : D

0 голосов
/ 23 апреля 2020

Проблема, с которой я столкнулся, была из-за пути Google. После изучения и использования пути к изображению я обнаружил, что при использовании colab и монтировании диска Google, даже если вы указали абсолютный путь, он добавит / content в начале пути. Просто из-за этого путь был неправильным.

0 голосов
/ 16 апреля 2020

Вы должны:

print( gray.shape )

после прочтения. Потому что, скорее всего, вы читаете несуществующий файл, который отображает весь код ниже этого тоо.

...