Python+OpenCV(十七)——人臉識別
學習視頻:python+opencv3.3視頻教學 基礎入門
其他學習記錄:
Python+OpenCV(一)——基礎操作
Python+OpenCV(二)——Numpy模塊
Python+OpenCV(三)——色彩空間
Python+OpenCV(四)——像素運算
Python+OpenCV(五)——ROI和泛洪填充
Python+OpenCV(六)——均值/中值/自定義/高斯模糊、高斯噪聲處理、高斯雙邊濾波
Python+OpenCV(七)——直方圖及其應用
Python+OpenCV(八)——影像二值化
Python+OpenCV(九)——影像金字塔、影像梯度
Python+OpenCV(十)——Canny邊緣提取
Python+OpenCV(十一)——直線檢測、圓檢測
Python+OpenCV(十二)——輪廓發現
Python+OpenCV(十三)——物件測量
Python+OpenCV(十四)——膨脹與腐蝕
Python+OpenCV(十五)——開閉操作
Python+OpenCV(十六)——頂帽、黑帽
原始碼如下:
# -*- coding = utf-8 -*-
# @Time : 2021/8/5 9:24
# @Author : 西蘭花
# @File : OpenCV17.py
# @Software : PyCharm
"""
人臉檢測
"""
import cv2 as cv # 引入OpenCV模塊
def face_decect_demo(image):
gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY)
# face_decector = cv.CascadeClassifier("E:/Python/anaconda/envs/test06(OpenCV)/Library/etc/haarcascades/haarcascade_frontalface_alt_tree.xml") # 引入級聯檔案
face_decector = cv.CascadeClassifier("E:/Python/anaconda/envs/test06(OpenCV)/Library/etc/lbpcascades/lbpcascade_frontalcatface.xml") # 引入級聯檔案
faces = face_decector.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)
print("------ Hello OpenCV ------")
src = cv.imread("C:/Users/Administrator/Pictures/PS/14.jpg") # 讀取影像
cv.imshow("input image", src) # 顯示影像
face_decect_demo(src)
'''對攝像頭畫面進行人臉識別'''
# capture = cv.VideoCapture(0) # 打開攝像頭
# cv.namedWindow("result", cv.WINDOW_AUTOSIZE)
# while True:
# ret, frame = capture.read()
# frame = cv.flip(frame, 1)
# face_decect_demo(frame)
# c = cv.waitKey(10)
# if c == 27:
# break
cv.waitKey(0)
cv.destroyAllWindows() # 銷毀/關閉所有視窗
輸出結果:
1.使用haarcascade的人臉識別




2.使用lbpcascade的人臉識別




轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/292447.html
標籤:其他
