🎭 تشخیص احساسات چهره با نمایش همزمان تصویر و نتایج
✔️ ویژگیهای منحصر به فرد
- نمایش زنده تصویر دوربین + نمودار احساسات در یک پنجره
- آپدیت لحظهای نمودار با تغییر حالات چهره
- بهینهسازی عملکرد با
🛠 راهاندازی آسان
1. نصب کتابخانهها:
2. اجرای کد:
#deepface | #cv2 | #matplotlib | #numpy | @learnpythonicy
> *برای دقت بیشتر میتوانید مدلهای سفارشی مانند
>
import deepface as DeepFace
import cv2
import matplotlib.pyplot as plt
import numpy as np
# شروع دوربین
cap = cv2.VideoCapture(0)
while True:
ret, frame = cap.read()
if not ret:
break
try:
# تحلیل احساسات
results = DeepFace.analyze(frame, actions=['emotion'], enforce_detection=False)
emotion = results[0]['dominant_emotion']
emotions = results[0]['emotion']
# رسم نمودار احساسات
plt.clf() # پاک کردن نمودار قبلی
plt.bar(emotions.keys(), emotions.values(), color='skyblue')
plt.title(f'Dominant Emotion: {emotion}')
plt.ylim(0, 100)
# تبدیل نمودار به تصویر OpenCV
fig = plt.gcf()
fig.canvas.draw()
plot_img = np.array(fig.canvas.renderer.buffer_rgba())
plot_img = cv2.cvtColor(plot_img, cv2.COLOR_RGBA2BGR)
# نمایش ترکیبی
combined = np.vstack((
cv2.resize(frame, (640, 360)),
cv2.resize(plot_img, (640, 360))
))
cv2.imshow('Face Analysis - Live', combined)
except Exception as e:
print(f"خطا: {e}")
cv2.imshow('Face Analysis - Live', frame)
if cv2.waitKey(1) == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
✔️ ویژگیهای منحصر به فرد
- نمایش زنده تصویر دوربین + نمودار احساسات در یک پنجره
- آپدیت لحظهای نمودار با تغییر حالات چهره
- بهینهسازی عملکرد با
enforce_detection=False برای جلوگیری از خطا 🛠 راهاندازی آسان
1. نصب کتابخانهها:
pip install deepface opencv-python matplotlib numpy
2. اجرای کد:
python face_emotion.py
#deepface | #cv2 | #matplotlib | #numpy | @learnpythonicy
> *برای دقت بیشتر میتوانید مدلهای سفارشی مانند
VGG-FER را بارگذاری کنید:* >
DeepFace.build_model("VGG-Fer")