Eloquence-Backend / utils /expressions.py
Aurum79's picture
Update utils/expressions.py
5c8cf8c verified
raw
history blame contribute delete
930 Bytes
from fer import Video
import pandas as pd
def analyze_video_emotions(video_file_path, face_detector):
"""
Analyzes the emotions in a given video file and returns a dataframe of scores.
"""
input_video = Video(video_file_path)
processing_data = input_video.analyze(face_detector, display=False)
if not processing_data:
print("No faces detected in the video.")
return pd.DataFrame()
vid_df = input_video.to_pandas(processing_data)
vid_df = input_video.get_first_face(vid_df)
vid_df = input_video.get_emotions(vid_df)
emotions = ['angry', 'disgust', 'fear', 'happy', 'sad', 'surprise', 'neutral']
emotions_values = [sum(vid_df[emotion]) for emotion in emotions]
score_comparisons = pd.DataFrame({
'Human Emotions': [emotion.capitalize() for emotion in emotions],
'Emotion Value from the Video': emotions_values
})
return score_comparisons