Spaces:
Sleeping
Sleeping
| import cv2 | |
| import streamlit as st | |
| import tempfile | |
| def censor_face(filePath): | |
| output_file = 'Output\censored_' + str(filePath.name) | |
| video=cv2.VideoCapture(filePath.name) | |
| success, frame = video.read() | |
| height = frame.shape[0] | |
| width = frame.shape[1] | |
| print(height, width) | |
| face_cascade=cv2.CascadeClassifier.load('XML\faces.xml') | |
| tfile2 = tempfile.NamedTemporaryFile(delete=False) | |
| tfile2.write(face_cascade.read('XML\faces.xml')) | |
| output=cv2.VideoWriter(output_file, cv2.VideoWriter_fourcc(*'mp4v'), 30, (width, height)) | |
| while success: | |
| faces = tfile2.detectMultiScale(frame, 1.1, 4) | |
| for (x,y, w, h) in faces: #multiple faces in a video | |
| frame[y:y+h, x:x+w] = cv2.blur(frame[y:y+h, x:x+w], (150, 150)) | |
| output.write(frame) | |
| success, frame = video.read() | |
| output.release() | |
| return output_file |