如何在python中使用OpenCV檢測人臉

這期內(nèi)容當中小編將會給大家?guī)碛嘘P如何在python中使用OpenCV檢測人臉,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

為曲松等地區(qū)用戶提供了全套網(wǎng)頁設計制作服務,及曲松網(wǎng)站建設行業(yè)解決方案。主營業(yè)務為做網(wǎng)站、成都網(wǎng)站設計、曲松網(wǎng)站設計,以傳統(tǒng)方式定制建設網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

Python的優(yōu)點有哪些

1、簡單易用,與C/C++、Java、C# 等傳統(tǒng)語言相比,Python對代碼格式的要求沒有那么嚴格;2、Python屬于開源的,所有人都可以看到源代碼,并且可以被移植在許多平臺上使用;3、Python面向?qū)ο?,能夠支持面向過程編程,也支持面向?qū)ο缶幊蹋?、Python是一種解釋性語言,Python寫的程序不需要編譯成二進制代碼,可以直接從源代碼運行程序;5、Python功能強大,擁有的模塊眾多,基本能夠?qū)崿F(xiàn)所有的常見功能。

人臉識別模塊特征

1、是用一系列分好類的圖像來“訓練”程序,并基于這些圖像來進行識別。這就是OpenCV 及其人臉識別模塊進行人臉識別的過程。 

2、每個識別都具有轉(zhuǎn)置信(confidence)評分,因此可在實際應用中通過對其設置閾值來進行篩選。

人臉識別兩種方式

1、自己獲得圖像或從人臉數(shù)據(jù)庫免費獲得可用的人臉圖像。

2、互聯(lián)網(wǎng)上有許多人臉數(shù)據(jù)庫:為了對這些樣本進行人臉識別,必須要在包含人臉的樣本圖像上進行人臉識別。這是一 個學習的過程,但并不像自己提供的圖像那樣令人滿意。

python中OpenCV的人臉檢測功能操作實例

import os
import cv2
from PIL import Image
import numpy as np

def getImageAndLabels(path):
    facesSamples = []
    ids = []
    imagePaths = [os.path.join(path, f) for f in os.listdir(path)]

    # 檢測人臉
    # 加載特征數(shù)據(jù)
    face_detector = cv2.CascadeClassifier(
        'D:/Python/opencv/sources/data/haarcascades/haarcascade_frontalface_default.xml')
    # 參數(shù): scaleFactor(比例因子):圖片縮放多少,minNeighbors:至少檢測多少次,minSize maxSize:當前檢測區(qū)域的最大最小面積
    # scaleFactor=1.01, minNeighbors=3, maxSize=(33, 33), minSize=(28, 28)

    # 遍歷列表中的圖片
    for imagePath in imagePaths:
        # 打開當前圖片
        PIL_img = Image.open(imagePath).convert('L')

        # 將圖片轉(zhuǎn)化為數(shù)組
        img_numpy = np.array(PIL_img, 'uint8')
        faces = face_detector.detectMultiScale(img_numpy)

        # 獲取每張圖片的id
        id = int(os.path.split(imagePath)[1].split('.')[0])

        # 獲取人臉區(qū)域
        for x, y, w, h in faces:
            # 進行切片處理,獲取圖像數(shù)組和id
            facesSamples.append(img_numpy[y:y+h, x:x+w])
            ids.append(id)

        return facesSamples, ids


if __name__ == '__main__':
    # 圖片路徑
    path = './data/jm/'
    # 獲取圖像數(shù)組和id標簽數(shù)組
    faces, ids = getImageAndLabels(path)

    # 獲取循環(huán)對象
    recognizer = cv2.face.LBPHFaceRecognizer_create()
    recognizer.train(faces, np.array(ids))

    # 保存文件
    recognizer.write('trainer/trainer.yml')

上述就是小編為大家分享的如何在python中使用OpenCV檢測人臉了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

當前題目:如何在python中使用OpenCV檢測人臉
網(wǎng)頁網(wǎng)址:http://bm7419.com/article20/iihsjo.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供響應式網(wǎng)站App設計、自適應網(wǎng)站、域名注冊、網(wǎng)站導航網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站