python人脸识别opencv_Python与OpenCV实时人脸识别
剛剛開始使用Python寫OpenCV的東西,發現關于使用Python寫OpenCV的還是比較少的,先整了一個人臉識別的最簡單實例,與大家共享!
環境:Python 2.7.4、OpenCV 2.4.6、LinuxMint 15
最簡單代碼如下:
import os,sys,cv2pth = os.path.dirname(sys.argv[0])cv2.namedWindow("camera")det = cv2.CascadeClassifier("./haarcascade_frontalface_alt.xml")cam = cv2.VideoCapture(0)while cam.isOpened(): flag, frame = cam.read(); if flag == True: tmp = cv2.cvtColor(frame, cv2.cv.CV_RGB2GRAY) objs = det.detectMultiScale(tmp, 1.1, 4, 0,(frame.shape[1] / 10, frame.shape[0] / 10)) for rct in objs: cv2.rectangle(frame, (rct[0], rct[1]),(rct[0] + rct[2], rct[1] + rct[3]),(0, 0, 255), 2, cv2.CV_AA) cv2.imshow("camera", frame) if cv2.waitKey(10) == 27: cam.release() breakcv2.destroyWindow("camera")
接下來我還增加輸出統計人數的功能,還是最簡單的方法,統計找到的obj數目,只有在變化的時候才輸出,代碼如下:
import os,sys,cv2pth = os.path.dirname(sys.argv[0])cv2.namedWindow("camera")det = cv2.CascadeClassifier("./haarcascade_frontalface_alt.xml")cam = cv2.VideoCapture(0)people = 0while cam.isOpened(): flag, frame = cam.read(); if flag == True: tmp = cv2.cvtColor(frame, cv2.cv.CV_RGB2GRAY) objs = det.detectMultiScale(tmp, 1.1, 4, 0,(frame.shape[1] / 10, frame.shape[0] / 10)) if len(objs)!=people: people = len(objs) if people!=0: print people for rct in objs: cv2.rectangle(frame, (rct[0], rct[1]),(rct[0] + rct[2], rct[1] + rct[3]),(0, 0, 255), 2, cv2.CV_AA) cv2.imshow("camera", frame) if cv2.waitKey(10) == 27: cam.release() breakcv2.destroyWindow("camera")
希望對你有幫助,接下來會繼續更新相關的東西
當年今日
本文轉載自:無淚之城
歡迎加入我愛機器學習QQ14群:336582044
微信掃一掃,關注我愛機器學習公眾號
總結
以上是生活随笔為你收集整理的python人脸识别opencv_Python与OpenCV实时人脸识别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python编程单片机_Micro Py
- 下一篇: bp神经网络_BP 神经网络驱动的手写体