一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術(shù)及教程分享平臺!
分類導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Python - 詳解如何用OpenCV + Python 實現(xiàn)人臉識別

詳解如何用OpenCV + Python 實現(xiàn)人臉識別

2020-12-12 00:41Hanson1 Python

這篇文章主要介紹了詳解如何用OpenCV + Python 實現(xiàn)人臉識別,非常具有實用價值,需要的朋友可以參考下

下午的時候,配好了OpenCVPython環(huán)境,OpenCV的Python環(huán)境搭建。于是迫不及待的想體驗一下opencv的人臉識別,如下文。

必備知識

Haar-like

通俗的來講,就是作為人臉特征即可。

Haar特征值反映了圖像的灰度變化情況。例如:臉部的一些特征能由矩形特征簡單的描述,如:眼睛要比臉頰顏色要深,鼻梁兩側(cè)比鼻梁顏色要深,嘴巴比周圍顏色要深等。

opencv api

要想使用opencv,就必須先知道其能干什么,怎么做。于是API的重要性便體現(xiàn)出來了。就本例而言,使用到的函數(shù)很少,也就普通的讀取圖片,灰度轉(zhuǎn)換,顯示圖像,簡單的編輯圖像罷了。

如下:

讀取圖片

只需要給出待操作的圖片的路徑即可。

?
1
2
import cv2
image = cv2.imread(imagepath)

灰度轉(zhuǎn)換

灰度轉(zhuǎn)換的作用就是:轉(zhuǎn)換成灰度的圖片的計算強(qiáng)度得以降低。

?
1
2
import cv2
gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)

畫圖

opencv 的強(qiáng)大之處的一個體現(xiàn)就是其可以對圖片進(jìn)行任意編輯,處理。

下面的這個函數(shù)最后一個參數(shù)指定的就是畫筆的大小。

?
1
2
import cv2
cv2.rectangle(image,(x,y),(x+w,y+w),(0,255,0),2)

顯示圖像

編輯完的圖像要么直接的被顯示出來,要么就保存到物理的存儲介質(zhì)。

?
1
2
import cv2
cv2.imshow("Image Title",image)

獲取人臉識別訓(xùn)練數(shù)據(jù)

看似復(fù)雜,其實就是對于人臉特征的一些描述,這樣opencv在讀取完數(shù)據(jù)后很據(jù)訓(xùn)練中的樣品數(shù)據(jù),就可以感知讀取到的圖片上的特征,進(jìn)而對圖片進(jìn)行人臉識別。

?
1
2
import cv2
face_cascade = cv2.CascadeClassifier(r'./haarcascade_frontalface_default.xml')

里賣弄的這個xml文件,就是opencv在GitHub上共享出來的具有普適的訓(xùn)練好的數(shù)據(jù)。我們可以直接的拿來使用。

訓(xùn)練數(shù)據(jù)參考地址:

https://github.com/opencv/opencv/tree/master/data/haarcascades

探測人臉

說白了,就是根據(jù)訓(xùn)練的數(shù)據(jù)來對新圖片進(jìn)行識別的過程。

?
1
2
3
4
5
6
7
8
9
10
11
import cv2
 
# 探測圖片中的人臉
 
faces = face_cascade.detectMultiScale(
  gray,
  scaleFactor = 1.15,
  minNeighbors = 5,
  minSize = (5,5),
  flags = cv2.cv.CV_HAAR_SCALE_IMAGE
)

我們可以隨意的指定里面參數(shù)的值,來達(dá)到不同精度下的識別。返回值就是opencv對圖片的探測結(jié)果的體現(xiàn)。

處理人臉探測的結(jié)果

結(jié)束了剛才的人臉探測,我們就可以拿到返回值來做進(jìn)一步的處理了。但這也不是說會多么的復(fù)雜,無非添加點特征值罷了。

?
1
2
3
4
5
6
import cv2
 
print "發(fā)現(xiàn){0}個人臉!".format(len(faces))
 
for(x,y,w,h) in faces:
  cv2.rectangle(image,(x,y),(x+w,y+w),(0,255,0),2)

實例

有了剛才的基礎(chǔ),我們就可以完成一個簡單的人臉識別的小例子了。

圖片素材

下面的這張圖片將作為我們的檢測依據(jù)。

詳解如何用OpenCV + Python 實現(xiàn)人臉識別

人臉檢測代碼

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# coding:utf-8
 
import sys
 
 
 
reload(sys)
 
sys.setdefaultencoding('utf8')
 
#  __author__ = '郭 璞'
 
#  __date__ = '2016/9/5'
 
#  __Desc__ = 人臉檢測小例子,以圓圈圈出人臉
 
import cv2
 
# 待檢測的圖片路徑
 
imagepath = r'./heat.jpg'
 
 
 
# 獲取訓(xùn)練好的人臉的參數(shù)數(shù)據(jù),這里直接從GitHub上使用默認(rèn)值
 
face_cascade = cv2.CascadeClassifier(r'./haarcascade_frontalface_default.xml')
 
 
 
# 讀取圖片
 
image = cv2.imread(imagepath)
 
gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
 
 
 
# 探測圖片中的人臉
 
faces = face_cascade.detectMultiScale(
 
  gray,
 
  scaleFactor = 1.15,
 
  minNeighbors = 5,
 
  minSize = (5,5),
 
  flags = cv2.cv.CV_HAAR_SCALE_IMAGE
 
)
 
 
 
print "發(fā)現(xiàn){0}個人臉!".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("Find Faces!",image)
 
cv2.waitKey(0)

人臉檢測結(jié)果

輸出圖片:

詳解如何用OpenCV + Python 實現(xiàn)人臉識別

輸出結(jié)果:

D:\Software\Python2\python.exe E:/Code/Python/DataStructor/opencv/Demo.py
發(fā)現(xiàn)3個人臉!

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

原文鏈接:http://www.cnblogs.com/hanson1/p/7105265.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久性综合亚洲精品电影网 | 无限资源在线观看高清 | 亚色九九九全国免费视频 | 9l国产精品久久久久麻豆 | 玩两个少妇女邻居 | 精品国产一区二区在线观看 | 亚洲欧美国产在线 | 奇米色88欧美一区二区 | 黄瓜视频黄版 | 午夜福利体验免费体验区 | 国产日韩一区二区三区 | 性柔术18性13处交 | 国产福利一区二区三区 | 四虎在线网站 | 范冰冰特黄xx大片 | 免费视频一级片 | brazzersvideo欧美最新 | 99久久精品免费观看区一 | 国产日韩欧美色视频色在线观看 | 成年人在线免费看 | 欧美作爱福利免费观看视频 | fulao在线观看的 | 精品小视频在线观看 | 日本高清免费中文字幕不卡 | 99久久精品无码一区二区毛片 | 午夜爽喷水无码成人18禁三级 | 日韩精品国产自在欧美 | 欧美精选欧美极品 | 亚洲精品人成网在线播放影院 | 古装一级无遮挡毛片免费观看 | 男人女人日皮 | 17岁俄罗斯csgo| 色多多影院 | 日本小视频网站 | 亚洲第五色综合网啪啪 | 四虎永久免费地址在线观看 | 国产爱啪啪 | 娇妻与公陈峰姚瑶小说在线阅读 | 国产特黄一级一片免费 | 5g影院天天5g爽天天看 | 亚洲国产欧美另类 |