Topic: AttributeError: module 'face_recognition' has no attribute [Risolto]  (Letto 50 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline 1979gian

  • python unicellularis
  • *
  • Post: 11
  • Punti reputazione: 0
    • Mostra profilo
Salve a tutti,
volevo provare a divertirmi un po con FaceRecognition...ma al "pronti-via" mi sono inchiodato alla 10a riga :sarcastic: .
Sono ore che faccio ricerche ma non ne sono venuto a capo.
(PS: il codice non è stato ancora debuggato)

>>> %Run face.py
Traceback (most recent call last):
  File "/home/pi/face.py", line 10, in <module>
    target_encoding = face_recognition.face_encoding(target_image)[0]
AttributeError: module 'face_recognition' has no attribute 'face_encoding'   
>>>

Sto utilizzando un Raspberry Pi-4 (Python 3.7.3) ed ho già installato Dlib (19.19.0)
pip3 install face-recognition
(1.3.0)


###Code:

import face_recognition
import cv2

webcam= cv2.VideoCapture(0)

image_file=("foto1.jpg")
target_image= face_recognition.load_image_file(image_file)
target_encoding = face_recognition.face_encoding(target_image)[0]

print ("Image Loaded. 128-dimension Face Encoding Generated\n")

target_name = input ("Target Name > ")

process_this_frame = True

while True:
    ret, frame = webcam.read()

    small_frame = cv2.resize(frame, None, fx=0.20, fy=0.20)
    rgb_small_frame = cv2.cvtColor(small_frame, 4)

    if process_this_frame:
        face_locations = face_recognition.face_locations(rgb_small_frame)
        frame_encodings = face_recognition.face_encodings(rgb_small_frame)
       
        if frame_encoding:
            frame_fece_encoding = frame_encodings[0]
            match = face_recognition.compare_faces([target_encoding],frame_face_encoding)[0]
            label=target_name if match else "Unknown"
   
    process_this_frame = not process_this_frame
   
    if face_locations:
        top,right,bottom,left = face_locations[0]
       
        top*=5
        right*=5
        bottom*=5
        left*=5
       
        cv2.rectangle(frame,(left,top),(right,bottom),(0,255,0),2)
       
        cv2.rectangle(frame, (left,bottom - 30), (right, bottom), (0,255,0), cv2.FILLED)
        label_font = cv2.FONT_HERSHEY_DUPLEX
        cv2.putText(frame,label,(left + 6, bottom-6), label_font, 0.8,(255,255,255),1)

    cv2.imshow("Video Feed", frame)
   
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break
       
webcam.release()
cv2.destroyAllWindows()
       
 ###

Qualcuno ha avuto lo stesso problema...o può aiutarmi risolverlo?
Saluti

Gianluca


« Ultima modifica: Maggio 16, 2020, 17:17 da 1979gian »

Offline nuzzopippo

  • python erectus
  • ***
  • Post: 231
  • Punti reputazione: 0
    • Mostra profilo
Non conosco la libreria, ma a quanto leggo qua mancherebbe una "s", dovresti provare con :
target_encoding = face_recognition.face_encodings(target_image)[0]


Ciao

Offline 1979gian

  • python unicellularis
  • *
  • Post: 11
  • Punti reputazione: 0
    • Mostra profilo
Caspita ma sai che era proprio quello? Che occhio.. mancava proprio la "s" ad encoding...mitico!
Grazie mille sei un grande! :ok: ;) :)
« Ultima modifica: Maggio 07, 2020, 11:49 da 1979gian »