OpenCV Python 實現人臉識別

2021-08-10 22:22:01 字數 2300 閱讀 3144

參考:

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....