آموزش پایتون
88 subscribers
281 photos
21 videos
81 files
178 links
ارتباط با ما:
@learnpythonicyBot

لینک گروه چت:
https://t.me/learnpythonicychat

لینک چنل ایتا:
https://eitaa.com/learnpythonicy
Download Telegram
🎭 تشخیص احساسات چهره با نمایش همزمان تصویر و نتایج

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")