Python是一種強大的編程語言,在計算機視覺領域中有廣泛的應用。人數識別是計算機視覺中的一個重要任務。這篇文章將介紹如何使用Python進行人數識別。
import cv2 import numpy as np #讀取圖片 img = cv2.imread('people.jpg') #將圖片轉化為灰度圖像 gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) #通過Haar特征獲取行人檢測器 body_cascade = cv2.CascadeClassifier('haarcascade_fullbody.xml') #檢測圖像中的行人 bodies = body_cascade.detectMultiScale(gray, 1.1, 4) #顯示識別結果 print("Total bodies found:", len(bodies)) for (x,y,w,h) in bodies: cv2.rectangle(img,(x,y),(x+w,y+h),(0,255,0),2) cv2.imshow('img',img) cv2.waitKey(0) cv2.destroyAllWindows()
上述代碼中,cv2是OpenCV庫的Python接口。使用cv2.imread()讀取圖片,cv2.cvtColor()將圖片轉化為灰度圖像。Haar特征是一種用于目標檢測的算法。代碼中使用haarcascade_fullbody.xml作為Haar特征分類器的模型文件。detectMultiScale()函數檢測圖像中的行人,并返回一個矩形列表。對于檢測到的每個行人,代碼在原圖像中用矩形框標出。
運行該代碼后,我們可以在圖像中看到綠色的矩形框標記了所有檢測到的行人。同時,Python會輸出檢測到的總人數。通過這種方法,我們可以利用Python實現簡單的人數識別。