Skip to main content

Emotion detection system

Emotion detection system using python 


An emotion detection system using Python and a pre-trained model like fer (Facial Emotion Recognition) or DeepFace. This code will use the DeepFace library, which supports multiple models for facial emotion recognition.

Step 1: Install Required Libraries

pip install deepface opencv-python

Step 2: Write the Emotion Detection Code

import cv2
from deepface import DeepFace # Load the pre-trained DeepFace model for emotion detection def detect_emotion(image_path): # Analyze the image to detect emotions analysis = DeepFace.analyze(img_path=image_path, actions=['emotion']) # Get the dominant emotion dominant_emotion = analysis['dominant_emotion'] return dominant_emotion # Capture video from the webcam def emotion_from_webcam(): cap = cv2.VideoCapture(0) while True: ret, frame = cap.read() # Save the frame as a temporary image cv2.imwrite("temp.jpg", frame) # Detect emotion in the current frame emotion = detect_emotion("temp.jpg") # Display the detected emotion on the frame cv2.putText(frame, emotion, (50, 50), cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 0, 0), 2, cv2.LINE_AA) # Show the frame cv2.imshow('Emotion Detection', frame) # Break the loop if 'q' is pressed if cv2.waitKey(1) & 0xFF == ord('q'): break # Release the video capture object and close all OpenCV windows cap.release() cv2.destroyAllWindows() # Run the emotion detection from webcam emotion_from_webcam()

How the Code Works:

  1. DeepFace: The DeepFace.analyze function is used to analyze the image and detect emotions. It supports several models, but the default model is VGG-Face.
  2. Webcam Capture: The code captures video from the webcam and detects emotions in real-time.
  3. Display Emotion: The detected emotion is overlaid on the video frame.

Step 3: Run the Code

When you run the code, it will open a webcam feed, detect emotions in real-time, and display the dominant emotion on the video stream. Press q to exit the webcam feed.

Notes:

  • The emotion detection is based on facial expressions, so ensure your face is visible in the webcam for accurate results.
  • You can replace "temp.jpg" with frame directly if you prefer to analyze the frame without saving it as an image file. However, the current approach ensures that the frame is properly analyzed in case of any format issues.

Comments

Popular posts from this blog

What is Fuzzy Logic?

 Title: Demystifying Fuzzy Logic: A Primer for Engineering Students Introduction In the world of engineering, precise calculations and binary decisions often reign supreme. However, there are real-world scenarios where the classical "yes" or "no" approach falls short of capturing the nuances of human thought and the complexity of certain systems. This is where fuzzy logic comes into play. Fuzzy logic is a powerful tool that allows engineers to handle uncertainty and vagueness in a more human-like way. In this article, we'll explore the basics of fuzzy logic, its applications, and how it can benefit engineering students. Understanding Fuzzy Logic Fuzzy logic, developed by Lotfi Zadeh in the 1960s, is a mathematical framework that deals with reasoning and decision-making in the presence of uncertainty and imprecision. Unlike classical binary logic, which relies on "true" or "false" values, fuzzy logic works with degrees of truth, allowing for a...

Unlocking the Power of CGI-BIN: A Dive into Common Gateway Interface for Dynamic Web Content

 CGI-BIN What is CGI-BIN? The Common Gateway Interface (CGI) is a standard protocol for enabling web servers to execute programs that generate web content dynamically. CGI scripts are commonly written in languages such as Perl, Python, and PHP, and they allow web servers to respond to user input and generate customized web pages on the fly. The CGI BIN directory is a crucial component of this process, serving as the location where these scripts are stored and executed. The CGI BIN directory is typically found within the root directory of a web server, and it is often named "cgi-bin" or "CGI-BIN". This directory is designated for storing executable scripts and programs that will be run by the server in response to requests from web clients. When a user interacts with a web page that requires dynamic content, the server will locate the appropriate CGI script in the CGI BIN directory and execute it to generate the necessary output. One of the key advantages of using ...

Machine Learning: The Power , Pros and Potential.

 **Title: Machine Learning: The Power, Pros, and Potential Pitfalls** **Introduction** Machine Learning (ML) stands as one of the most transformative technologies of our time, offering a glimpse into a future where data-driven decisions and automation redefine how we live and work. In this blog, we'll delve into the world of machine learning, exploring its myriad benefits, potential drawbacks, and the exciting possibilities it holds for the future. **Understanding Machine Learning** Machine learning is a subset of artificial intelligence that equips computers with the ability to learn and improve from experience without being explicitly programmed. It relies on algorithms and statistical models to make predictions or decisions based on data, a process often described as "training" a model. **The Benefits of Machine Learning** 1. **Automation and Efficiency**: ML can automate repetitive tasks, freeing up human resources for more creative and complex endeavors. This boosts...