Mục lục:
- Bước 1: Nhận diện khuôn mặt trong video thời gian thực
- Bước 2: Đào tạo hình ảnh mẫu của bạn
- Bước 3: Nhận dạng khuôn mặt
Video: Nhận diện, đào tạo và nhận diện khuôn mặt Opencv: 3 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:31
OpenCV là một thư viện thị giác máy tính mã nguồn mở rất phổ biến để thực hiện các tác vụ xử lý hình ảnh cơ bản như làm mờ, trộn hình ảnh, nâng cao chất lượng hình ảnh cũng như video, tạo ngưỡng, v.v. Ngoài xử lý hình ảnh, nó cung cấp nhiều phương pháp học sâu được đào tạo trước. các mô hình có thể được sử dụng trực tiếp để giải quyết các công việc đơn giản trong tầm tay.
để cài đặt opencv, hãy sử dụng liên kết này
www.instructables.com/id/Opencv-and-Python…
Bước 1: Nhận diện khuôn mặt trong video thời gian thực
bạn có thể tìm kiếm trên google cho nhiều chương trình phát hiện khuôn mặt và các khuôn mặt được phát hiện sẽ được lưu trong một thư mục để xử lý hình ảnh thêm những thứ như đào tạo và dán nhãn. chúng tôi sẽ thu thập 30 mẫu
nhập cv2
nhập numpy dưới dạng np
nhập hệ thống nhập hệ điều hành
camera = cv2. VideoCapture (0)
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml") #thêm đường dẫn tệp harcascade của bạn
name = raw_input ("Tên của anh ấy / cô ấy là gì?")
# tất cả các tệp sẽ được lưu trong thư mục Người dùng / prasad / Tài liệu / hình ảnh
dirName = "/ Users / prasad / Documents / images /" + tên
print (dirName) if not os.path.exists (dirName): os.makedirs (dirName) print ("Directory Created") else: print ("Tên đã tồn tại") sys.exit ()
đếm = 1
# chúng tôi sẽ thu thập 30 mẫu
trong khi đếm 30: break # frame = frame.array gray = cv2.cvtColor (frame, cv2. COLOR_BGR2GRAY) face = faceCascade.detectMultiScale (xám, 1,5, 5) cho (x, y, w, h) trong các khuôn mặt: roiGray = gray [y: y + h, x: x + w] fileName = dirName + "/" + name + str (count) + ".jpg" cv2.imwrite (fileName, roiGray) cv2.imshow ("face", roiGray) cv2.rectangle (frame, (x, y), (x + w, y + h), (0, 255, 0), 2) count + = 1 cv2.imshow ('frame', frame) key = cv2.waitKey (1)
phím if == 27:
nghỉ
# camera.release ()
cv2.destroyAllWindows ()
Bước 2: Đào tạo hình ảnh mẫu của bạn
Sau khi nhận diện khuôn mặt hoàn thành, chúng tôi có thể đi đào tạo hình ảnh
import osimport numpy as np from PIL import Image import cv2 import pickle #import serial
#ser = serial. Serial ('/ dev / ttyACM0', 9600, timeout = 1)
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml")
Recogzer = cv2.face. LBPHFaceRecognizer_create ()
baseDir = os.path.dirname (os.path.abspath (_ file_))
#train hình ảnh trong thư mục hình ảnh
imageDir = os.path.join (baseDir, "hình ảnh")
currentId = 1
labelIds = {} yLabels = xTrain = # ser.write ("Đào tạo…..". encode ())
cho root, dirs, tệp trong os.walk (imageDir):
print (root, dirs, files) cho file trong files: print (file) if file.endswith ("png") or file.endswith ("jpg"): path = os.path.join (root, file) label = os.path.basename (root) print (label)
nếu không có nhãn trong labelIds:
labelIds [label] = currentId print (labelIds) currentId + = 1
id_ = labelIds [label]
pilImage = Image.open (đường dẫn).convert ("L") imageArray = np.array (pilImage, "uint8") face = faceCascade.detectMultiScale (imageArray, scaleFactor = 1.1, minNeighbors = 5)
for (x, y, w, h) in the face:
roi = imageArray [y: y + h, x: x + w] xTrain.append (roi) yLabels.append (id_)
với mở ("nhãn", "wb") là f:
pickle.dump (labelIds, f) f.close ()
Recogzer.train (xTrain, np.array (yLabels))
Recogzer.save ("trainr.yml") print (labelIds)
Bước 3: Nhận dạng khuôn mặt
sau khi quá trình đào tạo kết thúc, bạn có thể chạy đoạn mã dưới đây để nó bắt đầu nhận dạng các khuôn mặt đã được đào tạo của bạn
import osos.environ ['PYTHONINSPECT'] = 'on' import cv2 import numpy as np import pickle #import RPi. GPIO as GPIO from time import sleep
với open ('label', 'rb') là f:
Dictionary = pickle.load (f) f.close ()
camera = cv2. VideoCapture (0)
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml")
Recogzer = cv2.face. LBPHFaceRecognizer_create () Recogzer.read ("trainr.yml")
font = cv2. FONT_HERSHEY_SIMPLEX
cuối cùng = ''
# for frame in camera.capture_continuous (rawCapture, format = "bgr", use_video_port = True):
trong khi True: ret, frame = camera.read () gray = cv2.cvtColor (frame, cv2. COLOR_BGR2GRAY) face = faceCascade.detectMultiScale (gray, scaleFactor = 1.5, minNeighbors = 5) for (x, y, w, h) trong khuôn mặt: roiGray = gray [y: y + h, x: x + w]
id_, conf = Recogzer.p Dự đoán (roiGray)
cho tên, giá trị trong Dictionary.items ():
if value == id_: print (name) cv2.putText (frame, name, (x, y), font, 2, (0, 0, 255), 2, cv2. LINE_AA) if name! = last: last = đặt tên nếu conf <= 70: cv2.rectangle (frame, (x, y), (x + w, y + h), (0, 255, 0), 2)
cv2.imshow ('frame', frame)
key = cv2.waitKey (1)
phím if == 27:
ngắt cv2.destroyAllWindows ()
Đề xuất:
Nhận diện khuôn mặt trên Raspberry Pi 4B trong 3 bước: 3 bước
Nhận diện khuôn mặt trên Raspberry Pi 4B trong 3 bước: Trong phần Hướng dẫn này, chúng tôi sẽ thực hiện nhận diện khuôn mặt trên Raspberry Pi 4 với Shunya O / S bằng Thư viện Shunyaface. Shunyaface là một thư viện nhận dạng / phát hiện khuôn mặt. Dự án nhằm đạt được tốc độ phát hiện và nhận dạng nhanh nhất với
MATLAB Nhận diện khuôn mặt dễ dàng: 4 bước
MATLAB Easy Face Detection: Mục đích chính của tài liệu hướng dẫn này là cho thấy việc xử lý hình ảnh sẽ dễ dàng đến mức nào, Với sự trợ giúp của MATLAB, theo dõi và phát hiện khuôn mặt đã là một lĩnh vực nghiên cứu quan trọng và tích cực, vì vậy đó là lý do tại sao tôi sẽ giải thích làm thế nào nó có thể được thực hiện một cách thông minh
Nhận dạng và Nhận dạng khuôn mặt - Arduino Face ID sử dụng OpenCV Python và Arduino.: 6 bước
Nhận dạng và Nhận dạng khuôn mặt | Arduino Face ID Sử dụng OpenCV Python và Arduino: Nhận dạng khuôn mặt ID khuôn mặt AKA là một trong những tính năng quan trọng nhất trên điện thoại di động hiện nay. Vì vậy, tôi đã có một câu hỏi " liệu tôi có thể có id khuôn mặt cho dự án Arduino của mình không " và câu trả lời là có … Hành trình của tôi bắt đầu như sau: Bước 1: Truy cập vào chúng tôi
Nhận diện khuôn mặt + nhận dạng: 8 bước (có hình ảnh)
Nhận diện khuôn mặt + nhận dạng: Đây là một ví dụ đơn giản về việc chạy tính năng nhận diện và nhận diện khuôn mặt với OpenCV từ máy ảnh. LƯU Ý: TÔI ĐÃ THỰC HIỆN DỰ ÁN NÀY CHO CUỘC THI CẢM BIẾN VÀ TÔI ĐÃ SỬ DỤNG MÁY ẢNH LÀM CẢM BIẾN ĐỂ THEO DÕI VÀ CÁC MẶT CẢNH NHẬN. Vì vậy, Mục tiêu của chúng tôi Trong phiên này, 1. Cài đặt Anaconda
Nhận diện khuôn mặt và mắt với Raspberry Pi Zero và Opencv: 3 bước
Nhận diện khuôn mặt và mắt với Raspberry Pi Zero và Opencv: Trong hướng dẫn này, tôi sẽ trình bày cách bạn có thể phát hiện khuôn mặt và mắt bằng cách sử dụng raspberry pi và opencv. Đây là hướng dẫn đầu tiên của tôi trên opencv. Tôi đã làm theo nhiều hướng dẫn để thiết lập cv mở trong mâm xôi nhưng lần nào cũng gặp một số lỗi. Dù sao thì tôi