Endersqui
Femtopat
- Katılım
- 19 Eylül 2023
- Mesajlar
- 71
Daha fazla
- Cinsiyet
- Erkek
Ekteki kod bir yüz tanımlama programına ait ama her çalıştırışımda aynı hatayı veriyor. "Hata: type numpy.ndarray doesn't define round method"
Python:
import cv2
from deepface import DeepFace
import numpy as np
# Yuvarlama işlevi
def round_value(value):
return round(value)
# Gerçek zamanlı yüz tanıma ve yaş cinsiyet tahmini
def realtime_face_recognition():
# Kamera açma
video_capture = cv2.VideoCapture(0)
while True:
# Kameradan kare yakalama
ret, frame = video_capture.read()
# Giriş görüntüsünün uygun bir NumPy dizisi olduğunu kontrol etme
if isinstance(frame, np.ndarray):
try:
result = DeepFace.analyze(frame, actions=['age', 'gender'])
# Yaş ve cinsiyet tahmini için kullanılan değerleri yuvarlama
age = round_value(result['age'])
gender = result['gender']
# Sonuçları çerçeve üzerine yazdırma
cv2.putText(frame, f"Yaş: {age}", (50, 50), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 255), 2, cv2.LINE_AA)
cv2.putText(frame, f"Cinsiyet: {gender}", (50, 100), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 255), 2, cv2.LINE_AA)
except Exception as e:
print("Hata:", str(e))
# Çerçeveyi gösterme
cv2.imshow('Video', frame)
# Giriş görüntüsü uygun formatta değilse hata mesajı yazdırma
else:
print("Hata: Giriş görüntüsü uygun formatta değil.")
# Çıkış için 'q' tuşuna basılmasını bekleyin
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# Kamerayı serbest bırak ve pencereyi kapat
video_capture.release()
cv2.destroyAllWindows()
# Ana fonksiyonu çağırma
realtime_face_recognition()
Son düzenleyen: Moderatör: