Python中的人臉辨識實例

WBOY
發布: 2023-06-11 08:57:46
原創
1171 人瀏覽過

隨著電腦技術的不斷發展,人工智慧技術越來越受到關注和應用,其中人臉辨識技術是最受歡迎的方向。 Python作為目前最受歡迎的程式語言之一,其在人臉辨識方面的應用也越來越廣泛。本文將介紹Python中的人臉辨識實例。

一、OpenCV

OpenCV是一個開源的電腦視覺函式庫,其提供了多種基於演算法的影像處理和電腦視覺方法。在Python中,我們可以使用OpenCV實現人臉辨識。

首先需要導入OpenCV的模組:

import cv2
登入後複製

然後,使用OpenCV提供的CascadeClassifier函數進行人臉辨識:

face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
登入後複製

#其中,haarcascade_frontalface_default.xml是OpenCV中提供的一個預訓練模型,用於偵測人臉。

接著,我們需要讀取圖像並進行處理:

img = cv2.imread('test.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
登入後複製

其中,test.jpg是待處理的圖片,cvtColor函數將影像轉換為灰階影像。

最後,在處理後的圖像上進行人臉辨識:

faces = face_cascade.detectMultiScale(gray, 1.3, 5)
for (x,y,w,h) in faces:
    cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
登入後複製

其中,detectMultiScale函數用於偵測影像中的人臉,傳回的是人臉框的座標和大小。最後,我們使用rectangle函數將人臉框畫在原始圖像上。

二、face_recognition

face_recognition是一個基於dlib和Python的人臉辨識庫,其使用了深度學習的方法進行人臉識別,具有較高的精度和穩健性。

使用前需要先安裝face_recognition庫:

pip install face_recognition
登入後複製

然後,我們需要讀取圖片並進行處理:

import face_recognition
import matplotlib.pyplot as plt

image = face_recognition.load_image_file("test.jpg")
face_locations = face_recognition.face_locations(image)
plt.imshow(image)
登入後複製

其中,face_recognition.load_image_file函數用於讀取圖片,face_recognition.face_locations函數用於對圖片進行人臉位置的偵測。

最後,我們可以在圖像中標記人臉的位置:

import numpy as np
import cv2

for face_location in face_locations:
    top, right, bottom, left = face_location
    cv2.rectangle(image, (left, top), (right, bottom), (0, 0, 255), 2)
plt.imshow(image)
登入後複製

其中,cv2.rectangle函數用於在原始圖像上標記矩形框,表明人臉的位置。

結語

人臉辨識技術的應用範圍越來越廣泛,Python作為目前最受歡迎的程式語言之一,在人臉辨識領域也有出色的表現。以上介紹的兩種實例,透過OpenCV和face_recognition函式庫的應用,讓我們能夠更方便快速地實現人臉辨識功能。

以上是Python中的人臉辨識實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!