隨著電腦技術的不斷發展,人工智慧技術越來越受到關注和應用,其中人臉辨識技術是最受歡迎的方向。 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中文網其他相關文章!