我想編寫我的intel伽利略第2代,以便它顯示網絡攝像頭前面的人臉數量並簡單地將其打印在外殼上(使用opencv)。我的代碼正在工作,但問題是處理速度非常慢。它每15秒打印一次數字。這樣我也無法檢查數字是否正確。有什麼辦法或有人做過嗎? 這裏是代碼..在opencv和intel伽利略gen2上進行慢速人臉檢測
import cv2
import sys
import time
cascPath = '/media/mmcblk0p1/haarcascade_frontalface_default.xml'
faceCascade = cv2.CascadeClassifier(cascPath)
video_capture = cv2.VideoCapture(0)
while True:
# Capture frame-by-frame
ret, frame = video_capture.read()
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
faces = faceCascade.detectMultiScale(
gray,
scaleFactor=1.1,
minNeighbors=5,
minSize=(30, 30),
flags=cv2.cv.CV_HAAR_SCALE_IMAGE
)
print len(faces)
time.sleep(0.033)
這是一個很慢的處理器。您可以嘗試降低攝像頭的分辨率,因爲這有助於縮短處理時間。 (如果分辨率是x * y,如果將其更改爲x/4 * y/4,理想情況下應該降低到大約1秒的處理時間。)您當前使用的攝像頭分辨率是多少? –