參考:
1、2、
haar特徵值反映了影象的灰度變化情況。例如:臉部的一些特徵能由矩形特徵簡單的描述,如:眼睛要比臉頰顏色要深,鼻樑兩側比鼻樑顏色要深,嘴巴比周圍顏色要深等。
import cv2
image = cv2.imread(imagepath)
import cv2
gray = cv2.cvtcolor(image,cv2.color_bgr2gray)
import cv2
cv2.rectangle(image,(x,y),(x+w,y+w),(0,255,0),2)
編輯完的影象要麼直接的被顯示出來,要麼就儲存到物理的儲存介質。
import cv2
cv2.imshow("image title",image)
看似複雜,其實就是對於人臉特徵的一些描述,這樣opencv在讀取完資料後很據訓練中的樣品資料,就可以感知讀取到的上的特徵,進而對進行人臉識別。
import cv2
face_cascade = cv2.cascadeclassifier(r'./haarcascade_frontalface_default.xml')
opencv在github上共享出來的具有普適的訓練好的資料。我們可以直接的拿來使用。
說白了,就是根據訓練的資料來對新進行識別的過程。
import cv2
# 探測中的人臉
faces = face_cascade.detectmultiscale(
gray,
scalefactor = 1.15,
minneighbors = 5,
minsize = (5,5),
# flags = cv2.cv.cv_haar_scale_image
)
我們可以隨意的指定裡面引數的值,來達到不同精度下的識別。返回值就是opencv對的探測結果的體現。
處理人臉探測的結果
結束了剛才的人臉探測,我們就可以拿到返回值來做進一步的處理了。但這也不是說會多麼的複雜,無非新增點特徵值罷了。
import cv2
print ("發現個人臉!".format(len(faces)))
for(x,y,w,h) in faces:
cv2.rectangle(image,(x,y),(x+w,y+w),(0,255,0),2)
# -*- coding: utf-8 -*-
"""opencv實現人臉識別
參考:1、
2、"""import cv2
# 待檢測的路徑
'''# 獲取人臉識別訓練資料
對於人臉特徵的一些描述,opencv在讀取完資料後很據訓練中的樣品資料,
就可以感知讀取到的上的特徵,進而對進行人臉識別。
參考:'''face_cascade = cv2.cascadeclassifier(r'./haarcascade_frontalface_default.xml')
# 探測人臉
# 根據訓練的資料來對新進行識別的過程。
faces = face_cascade.detectmultiscale(
gray,
scalefactor = 1.15,
minneighbors = 5,
minsize = (5,5),
#flags = cv2.haar_scale_image
)# 我們可以隨意的指定裡面引數的值,來達到不同精度下的識別。返回值就是opencv對的探測結果的體現。
# 處理人臉探測的結果
print ("發現個人臉!".format(len(faces)))
for(x,y,w,h) in faces:
cv2.rectangle(image,(x,y),(x+w,y+w),(0,255,0),2)
# cv2.circle(image,((x+x+w)/2,(y+y+h)/2),w/2,(0,255,0),2)
cv2.imshow("image",image)
cv2.waitkey(0)
cv2.destroyallwindows()
opencv python實現投影
圖123.jpg 先看一下執行結果 水平投影 垂直投影 圖project1.bmp 水平投影 垂直投影 如下 這個 實現的是project1.bmp的投影 import cv2 import numpy as np from matplotlib import pyplot as plt from ...
OpenCV Python模板匹配人眼的例項
模板匹配是指在當前影象a內尋找與影象b最相似的部分,可以理解找茬,但是這裡是找出一樣的資訊。一般我們將影象a稱為輸入影象,將影象b稱為模板影象。模板匹配的原理就是將模板b影象在影象a上滑動遍歷,找出與其匹配的部分。在opencv中,它給我們提供了cv2.matchtemplate 函式來完成模板匹配...
使用opencv python實現人臉識別
簡潔的 完 臉識別,本文用到的人臉識別分類器在opencv python的安裝目錄下可以找到,檔名haarcascade frontalface alt2.xml 上 import cv2 def getfaceidimg img cv2.namedwindow 1 num 0 frame cv2....