在python環境下利用opencv實現人臉識別,接下來一步一步動手操作。
預備知識
一、環境準備
如果已經準備好了請跳過。
0,第一步安裝numpy和matplotlib
pip install --upgrade setuptools
pip install numpy matplotlib
1,pip安裝,需要網路較好
pip install opencv-python
opencv_python‑3.3.0+contrib‑cp36‑cp36m‑win_amd64.whl
pip install 安裝包路徑(如:d:\python\opencv_python‑3.3.0+contrib‑cp36‑cp36m‑win_amd64.whl)
3,測試
import cv2 #匯入cv2模組就是opencv
#讀取影象,支援 bmp、jpg、png、tiff 等常用格式
imgurl = 'bb.jpg'#本地路徑
img = cv2.imread(imgurl) #注意這裡的路徑
#建立視窗並顯示影象
cv2.namedwindow("image",0)
cv2.resizewindow("image", 320,320);
cv2.imshow("image",img) #顯示
cv2.waitkey(0)
#釋放視窗
ok,搞定!
二、**,直接看**,有注釋
import cv2 #匯入cv2模組就是opencv
#讀取影象,支援 bmp、jpg、png、tiff 等常用格式
imgurl = 'bb.jpg'#本地路徑
img = cv2.imread(imgurl) #注意這裡的路徑
gray = cv2.cvtcolor(img, cv2.color_bgr2gray) #轉化灰度,用於提取臉部特徵值
face_cascade = cv2.cascadeclassifier(r'./haarcascade_frontalface_default.xml') #github上共享的已訓練好的通用人臉資料集
# 探測中的人臉
faces = face_cascade.detectmultiscale(
gray,
scalefactor = 1.15,
minneighbors = 5,
minsize = (5,5)
)print("發現個人臉".format(len(faces)))
for(x,y,w,h) in faces:
#cv2.rectangle(img,(x,y),(x+w,y+w),(255,255,0),2)#給識別的人臉畫乙個矩形
cv2.circle(img,((x+x+w)//2,(y+y+h)//2),w//2,(255,255,0),2) #給識別的人臉畫乙個圓形
#建立視窗並顯示影象
cv2.namedwindow("image",0)
cv2.resizewindow("image", 320,320);
cv2.imshow("image",img) #顯示
cv2.waitkey(0)
#釋放視窗
cv2.destroyallwindows()
三、執行結果
四、後續優化列表
現階段的只是識別出人臉並畫乙個圓圈,識別率不高,而且光線暗淡的時候更是識別不出來,再者還不能做到識別自己的臉,所以提出以下幾個優化進度。
1,訓練識別人臉,提高識別率
2,盡可能地優化和改進在光線暗淡時的識別效果
3,增加前端和介面做成乙個工具,提供訓練的入口,達到可以識別自己,甚至對接其他工具
OpenCv人臉識別
在進行人臉識別時候,為了達到效果,我們使用opencv的分類器。進行對進行識別。include include include include using namespace cv using namespace std void detectanddraw mat img,cascadeclass...
學習opencv 人臉識別
在opencv中提供了許多成熟的介面,其中乙個就是人臉識別,先看看效果圖。可以看出用opencv自帶的樣本就能很方便的識別出人臉。opencv有已經自帶了人臉的haar特徵分類器。在目錄 opencv sources data haarcascades 下面。可以看出裡面還有很多分類器,識別左耳 右...
opencv人臉識別 c
配置環境 opencv3.1 vs2013 配置方法 how to install opencv 3.1 with visual studio 2013 安裝常出現的錯誤 debug,release配置錯誤,debug對應opencv world310d.lib,release對應opencv wo...