Face Detection với OpenCV và Python chỉ trong 2 phút

2020/10/14 07:32:16

Cài đặt OpenCV cho python (ở đây mình sử dụng python 3)

$ sudo pip3 install opencv-python

Tải tập dữ liệu XML classifier (phân loại) đã được huấn luyện (trained classifier) haarcascade_frontalface_default.xml được cung cấp trong repository của OpenCV trên Github. Lưu lại vào thư mục làm việc.

Trong thư mục làm việc, tạo file detect.py với nội dung như sau.

#!/usr/bin/python3

import cv2

# Load the cascade
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')

# Read the input image
img = cv2.imread('test.jpg')

# Convert into grayscale
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

# Detect faces
faces = face_cascade.detectMultiScale(gray, 1.3, 5)

# Draw rectangle around the faces
for (x, y, w, h) in faces:
  cv2.rectangle(img, (x, y), (x+w, y+h), (255, 0, 0), 2)

# Display the output
cv2.imshow('img', img)
cv2.waitKey()

Xong rồi ta tiến hành chạy

$ ./detect.py

Ta thu được kết quả

Quay lại trang chủ