Python 환경 은 OpenCV 를 사용 하여 사람의 얼굴 을 검사 하여 튜 토리 얼 을 실현 합 니 다.
본 고 는 Python 환경 에서 어떻게 OpenCV 로 사람의 얼굴 을 검사 하 는 지 에 대해 이야기 하고 자 한다.본 고의 주요 내용 은 다음 과 같다.
1.사진 속 사람의 얼굴 검사
2.영상 에 나 오 는 사람의 얼굴 실시 간 검색
3.설 비 를 운반 하 는 카메라 로 사람의 얼굴 을 실시 간 으로 검사한다.
준비 작업
미리 준비 한 것:
파 이 썬 3 설치
다운로드 하여 OpenCV 라 이브 러 리 를 설치 하 는 방법 은?
pip install opencv-python -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com/pypi/simple
특징 데이터 HAAR 과 LBP 를 다운로드 하면 이 두 가지 데 이 터 는 모두 사람의 얼굴 특징 에 대한 추출 을 실현 할 수 있다.HAAR 은 대부분이 소수 계산 이기 때문에 연산 속도 가 느 리 고 LBP 는 대부분이 정수 계산 운행 속도 가 비교적 빠르다.그림 에서 보 듯 이 이번 인 스 턴 스 는 빨 간 상자 의 텍스트,다른 텍스트,예 를 들 어 첫 번 째 haarcascade 를 사용 합 니 다.eye.xml 는 눈 인식 텍스트 입 니 다.다음 에 사용 하 겠 습 니 다.
(1)코드 와 설명
import cv2 as cv
import numpy as np
def face_detect_demo():#
gray = cv.cvtColor(src, cv.COLOR_BGR2GRAY)# ,
# HAAR LBP , , : ‘/' ‘\'
# cv.CascadeClassifier,
# face_detector = cv.CascadeClassifier("D:/pyproject/cv_renlianjiance/haarcascades/haarcascade_frontalface_alt_tree.xml")
face_detector = cv.CascadeClassifier(
"D:/pyproject/cv_renlianjiance/lbpcascades/lbpcascade_frontalcatface.xml")
# , , , 1.02 , , 5 ,
faces = face_detector.detectMultiScale(gray, 1.02, 5)
for x, y, w, h in faces:#
#rectangle , , , , ,
cv.rectangle(src, (x, y), (x+w, y+h), (0, 0, 255), 2)
cv.imshow("result", src)#
src = cv.imread("D:/pyproject/cv_renlianjiance/cvrenxiangpic/1.jpg")# JPG png
cv.namedWindow("input image", cv.WINDOW_AUTOSIZE)#
cv.namedWindow("result", cv.WINDOW_AUTOSIZE)
cv.imshow("input image", src)
face_detect_demo()
cv.waitKey(0)
cv.destroyAllWindows()#
(2)결과 전시2.영상 속 얼굴 검사
(1)코드 와 설명
import cv2 as cv
import numpy as np
def face_detect_demo(image):
gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY)
# face_detector = cv.CascadeClassifier("D:/pyproject/cv_renlianjiance/haarcascades/haarcascade_frontalface_alt_tree.xml")
face_detector = cv.CascadeClassifier("D:/pyproject/cv_renlianjiance/lbpcascades/lbpcascade_frontalcatface.xml")
faces = face_detector.detectMultiScale(gray, 1.02, 5)
for x, y, w, h in faces:
cv.rectangle(image, (x, y), (x+w, y+h), (0, 0, 255), 2)
cv.imshow("result", image)
capture = cv.VideoCapture("D:/pyproject/cv_renlianjiance/video/1.mp4")
cv.namedWindow("result", cv.WINDOW_AUTOSIZE)
while (True):
# ,ret,frame cap.read() 。 ret , True, , False。frame , 。
ret, frame = capture.read()
# cv.flip , y , 0: x , <0: x、y
frame = cv.flip(frame, 1)
face_detect_demo(frame)
#waitKey() , 1, 1ms , ;
c = cv.waitKey(10)
if c == 27:# ‘ESC'
break
#cv.waitKey(0) 0, cv2.waitKey(0) , ,;
cv.waitKey(0)
cv.destroyAllWindows()#
(2)결과 전시3.장비 에 있 는 카 메 라 를 이용 하여 얼굴 검 사 를 하 는데 사실은 2 의 코드 와 마찬가지 로 카 메 라 를 켜 는 것 이지 동 영상 파일 을 읽 는 것 이 아니다.
코드 와 설명
import cv2 as cv
import numpy as np
def face_detect_demo(image):
gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY)
# face_detector = cv.CascadeClassifier("D:/pyproject/cv_renlianjiance/haarcascades/haarcascade_frontalface_alt_tree.xml")
face_detector = cv.CascadeClassifier("D:/pyproject/cv_renlianjiance/lbpcascades/lbpcascade_frontalcatface.xml")
faces = face_detector.detectMultiScale(gray, 1.02, 5)
for x, y, w, h in faces:
cv.rectangle(image, (x, y), (x+w, y+h), (0, 0, 255), 2)
cv.imshow("result", image)
capture = cv.VideoCapture(0)# 0
cv.namedWindow("result", cv.WINDOW_AUTOSIZE)
while (True):
# ,ret,frame cap.read() 。 ret , True, , False。frame , 。
ret, frame = capture.read()
# cv.flip , y , 0: x , <0: x、y
frame = cv.flip(frame, 1)
face_detect_demo(frame)
#waitKey() , 1, 1ms , ;
c = cv.waitKey(10)
if c == 27:# ‘ESC'
break
#cv.waitKey(0) 0, cv2.waitKey(0) , ,;
cv.waitKey(0)
cv.destroyAllWindows()#
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.