python人脸识别opencv_Python与OpenCV实时人脸识别
剛剛開(kāi)始使用Python寫(xiě)OpenCV的東西,發(fā)現(xiàn)關(guān)于使用Python寫(xiě)OpenCV的還是比較少的,先整了一個(gè)人臉識(shí)別的最簡(jiǎn)單實(shí)例,與大家共享!
環(huán)境:Python 2.7.4、OpenCV 2.4.6、LinuxMint 15
最簡(jiǎn)單代碼如下:
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")
接下來(lái)我還增加輸出統(tǒng)計(jì)人數(shù)的功能,還是最簡(jiǎn)單的方法,統(tǒng)計(jì)找到的obj數(shù)目,只有在變化的時(shí)候才輸出,代碼如下:
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")
希望對(duì)你有幫助,接下來(lái)會(huì)繼續(xù)更新相關(guān)的東西
當(dāng)年今日
本文轉(zhuǎn)載自:無(wú)淚之城
歡迎加入我愛(ài)機(jī)器學(xué)習(xí)QQ14群:336582044
微信掃一掃,關(guān)注我愛(ài)機(jī)器學(xué)習(xí)公眾號(hào)
總結(jié)
以上是生活随笔為你收集整理的python人脸识别opencv_Python与OpenCV实时人脸识别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python编程单片机_Micro Py
- 下一篇: websocket python爬虫_p