最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python基于opencv實(shí)現(xiàn)人臉識(shí)別

 更新時(shí)間:2021年01月04日 16:25:18   作者:我堅(jiān)信陽光燦爛  
這篇文章主要介紹了python基于opencv實(shí)現(xiàn)人臉識(shí)別的方法,幫助大家更好的理解和使用python,感興趣的朋友可以了解下

將opencv中haarcascade_frontalface_default.xml文件下載到本地,我們調(diào)用它輔助進(jìn)行人臉識(shí)別。

識(shí)別圖像中的人臉

#coding:utf-8
import cv2 as cv

# 讀取原始圖像
img = cv.imread('face.png')

# 調(diào)用熟悉的人臉分類器 識(shí)別特征類型
# 人臉 - haarcascade_frontalface_default.xml
# 人眼 - haarcascade_eye.xml
# 微笑 - haarcascade_smile.xml
face_detect = cv.CascadeClassifier('haarcascade_frontalface_default.xml')
gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)

# 檢查人臉 按照1.1倍放到 周圍最小像素為5
face_zone = face_detect.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5)
print ('識(shí)別人臉的信息:',face_zone)

# 繪制矩形和圓形檢測(cè)人臉
for x, y, w, h in face_zone:
  # 繪制矩形人臉區(qū)域 thickness表示線的粗細(xì)
  cv.rectangle(img, pt1=(x, y), pt2=(x+w, y+h),color=[0,0,255], thickness=2)
  # 繪制圓形人臉區(qū)域 radius表示半徑
  cv.circle(img, center=(x+w//2, y+h//2), radius=w//2, color=[0,255,0], thickness=2)

# 設(shè)置圖片可以手動(dòng)調(diào)節(jié)大小
cv.namedWindow("Easmount-CSDN", 0)

# 顯示圖片
cv.imshow("Easmount-CSDN", img)

# 等待顯示 設(shè)置任意鍵退出程序
cv.waitKey(0)
cv.destroyAllWindows()

注意,此算法只能檢測(cè)正臉,并且任何算法都有一定的準(zhǔn)確率。如上圖所示,圖像中有一處被錯(cuò)誤地檢測(cè)為人臉。

CascadeClassifier:

是OpenCV中人臉檢測(cè)的一個(gè)級(jí)聯(lián)分類器,既可以使用Haar,也可以使用LBP特征。以Haar特征分類器為基礎(chǔ)的對(duì)象檢測(cè)技術(shù)是一種非常有效的技術(shù)。它是基于機(jī)器學(xué)習(xí)且使用大量的正負(fù)樣本訓(xùn)練得到分類器。

Haar-like矩形特征:

是用于物體檢測(cè)的數(shù)字圖像特征。這類矩形特征模板由兩個(gè)或多個(gè)全等的黑白矩形相鄰組合而成,而矩形特征值是白色矩形的灰度值的和減去黑色矩形的灰度值的和,矩形特征對(duì)一些簡(jiǎn)單的圖形結(jié)構(gòu),如線段、邊緣比較敏感。如果把這樣的矩形放在一個(gè)非人臉區(qū)域,那么計(jì)算出的特征值應(yīng)該和人臉特征值不一樣,所以這些矩形就是為了把人臉特征量化,以區(qū)分人臉和非人臉。

LBP:

是一種特征提取方式,能提取出圖像的局部的紋理特征,最開始的LBP算子是在3X3窗口中,取中心像素的像素值為閥值,與其周圍八個(gè)像素點(diǎn)的像素值比較,若像素點(diǎn)的像素值大于閥值,則此像素點(diǎn)被標(biāo)記為1,否則標(biāo)記為0。這樣就能得到一個(gè)八位二進(jìn)制的碼,轉(zhuǎn)換為十進(jìn)制即LBP碼,于是得到了這個(gè)窗口的LBP值,用這個(gè)值來反映這個(gè)窗口內(nèi)的紋理信息。LBPH是在原始LBP上的一個(gè)改進(jìn),在opencv支持下我們可以直接調(diào)用函數(shù)直接創(chuàng)建一個(gè)LBPH人臉識(shí)別的模型。比如:cv.face.LBPHFaceRecognizer_create()。

detectMultiScale:

檢測(cè)人臉?biāo)惴?,其參?shù):
– image表示要檢測(cè)的輸入圖像
– objects表示檢測(cè)到的人臉目標(biāo)序列
– scaleFactor表示每次圖像尺寸減小的比例
– minNeighbors表示每一個(gè)目標(biāo)至少要被檢測(cè)到3次才算是真的目標(biāo),因?yàn)橹車南袼睾筒煌拇翱诖笮《伎梢詸z測(cè)到人臉
– minSize表示目標(biāo)的最小尺寸
– maxSize表示目標(biāo)的最大尺寸

識(shí)別視頻中的人臉

將視頻中每一幀圖像取出,進(jìn)行圖像人臉識(shí)別,標(biāo)記識(shí)別到的人臉,顯示每一幀圖像。

#coding:utf-8
import cv2 as cv
import numpy as np

# 加載視頻
cap = cv.VideoCapture('wang.mp4')

# 調(diào)用熟悉的人臉分類器 識(shí)別特征類型
# 人臉 - haarcascade_frontalface_default.xml
# 人眼 - haarcascade_eye.xm
# 微笑 - haarcascade_smile.xml
face_detect = cv.CascadeClassifier('haarcascade_frontalface_default.xml')

while True:
  # 讀取視頻片段
  flag, frame = cap.read()
  if flag == False:
    break

  # 灰度處理
  gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY)

  # 檢查人臉 按照1.1倍放到 周圍最小像素為5
  face_zone = face_detect.detectMultiScale(gray, scaleFactor = 1.5, minNeighbors = 8)

  # 繪制矩形和圓形檢測(cè)人臉
  for x, y, w, h in face_zone:
    cv.rectangle(frame, pt1 = (x, y), pt2 = (x+w, y+h), color = [0,0,255], thickness=2)
    cv.circle(frame, center = (x + w//2, y + h//2), radius = w//2, color = [0,255,0], thickness = 2)

  # 顯示圖片
  cv.imshow('video', frame)
  
  # 設(shè)置退出鍵和展示頻率
  if ord('q') == cv.waitKey(25):
    break

# 釋放資源
cv.destroyAllWindows()
cap.release()

識(shí)別攝像頭中的人臉

#coding:utf-8
import cv2 as cv

# 識(shí)別電腦攝像頭并打開
cap = cv.VideoCapture(0)

# 調(diào)用熟悉的人臉分類器 識(shí)別特征類型
# 人臉 - haarcascade_frontalface_default.xml
# 人眼 - haarcascade_eye.xm
# 微笑 - haarcascade_smile.xml
face_detect = cv.CascadeClassifier('haarcascade_frontalface_default.xml')

while True:
  # 讀取視頻片段
  flag, frame = cap.read()
  if flag == False:
    break

  # 灰度處理
  gray = cv.cvtColor(frame, code=cv.COLOR_BGR2GRAY)

  # 檢查人臉 按照1.1倍放到 周圍最小像素為5
  face_zone = face_detect.detectMultiScale(gray, scaleFactor = 1.1, minNeighbors = 5)

  # 繪制矩形和圓形檢測(cè)人臉
  for x, y, w, h in face_zone:
    cv.rectangle(frame, pt1 = (x, y), pt2 = (x+w, y+h), color = [0,0,255], thickness=2)
    cv.circle(frame, center = (x + w//2, y + h//2), radius = w//2, color = [0,255,0], thickness = 2)

  # 顯示圖片
  cv.imshow('video', frame)
  
  # 設(shè)置退出鍵和展示頻率
  if ord('q') == cv.waitKey(40):
    break

# 釋放資源
cv.destroyAllWindows()
cap.release()

以上就是python基于opencv實(shí)現(xiàn)人臉識(shí)別的詳細(xì)內(nèi)容,更多關(guān)于python opencv 人臉識(shí)別的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python 把列表轉(zhuǎn)化為字符串的方法

    python 把列表轉(zhuǎn)化為字符串的方法

    今天小編就為大家分享一篇python 把列表轉(zhuǎn)化為字符串的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • python實(shí)現(xiàn)SOM算法

    python實(shí)現(xiàn)SOM算法

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)SOM算法,聚類算法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • opencv-python的RGB與BGR互轉(zhuǎn)方式

    opencv-python的RGB與BGR互轉(zhuǎn)方式

    這篇文章主要介紹了opencv-python的RGB與BGR互轉(zhuǎn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所 幫助。一起跟隨小編過來看看吧
    2020-06-06
  • 解決PyCharm中光標(biāo)變粗的問題

    解決PyCharm中光標(biāo)變粗的問題

    下面小編就為大家?guī)硪黄鉀QPyCharm中光標(biāo)變粗的問題。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-08-08
  • 詳解Python 協(xié)程的詳細(xì)用法使用和例子

    詳解Python 協(xié)程的詳細(xì)用法使用和例子

    這篇文章主要介紹了詳解Python 協(xié)程的詳細(xì)用法和例子,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-06-06
  • python異常處理并調(diào)試

    python異常處理并調(diào)試

    這篇文章主要介紹了python異常處理并調(diào)試,異常是錯(cuò)誤出現(xiàn)時(shí),可以在正常的控制流程之外采取的行為下面我們就來看看python的那些異常,需要的小伙伴可以參考一下
    2022-02-02
  • python 文件常用操作demo(讀寫 打開方式)

    python 文件常用操作demo(讀寫 打開方式)

    這篇文章主要為大家介紹了python 文件常用操作demo(讀寫 打開方式)及使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • python PaddleSpeech實(shí)現(xiàn)嬰兒啼哭識(shí)別

    python PaddleSpeech實(shí)現(xiàn)嬰兒啼哭識(shí)別

    這篇文章主要為大家介紹了python PaddleSpeech實(shí)現(xiàn)嬰兒啼哭識(shí)別操作詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • python妹子圖簡(jiǎn)單爬蟲實(shí)例

    python妹子圖簡(jiǎn)單爬蟲實(shí)例

    這篇文章主要介紹了python妹子圖簡(jiǎn)單爬蟲,實(shí)例分析了Python爬蟲程序所涉及的頁面源碼獲取、進(jìn)度顯示、正則匹配等技巧,需要的朋友可以參考下
    2015-07-07
  • python粘包的解決方案

    python粘包的解決方案

    粘包就是在數(shù)據(jù)傳輸過程中有多個(gè)數(shù)據(jù)包被粘連在一起被發(fā)送或接受,本文主要介紹了python粘包的解決方案,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01

最新評(píng)論

申扎县| 筠连县| 靖江市| 云阳县| 娱乐| 手游| 洛隆县| 淮滨县| 肇源县| 涞水县| 沙坪坝区| 磴口县| 广元市| 肇源县| 凌云县| 沅江市| 丹凤县| 渑池县| 密云县| 天台县| 亚东县| 行唐县| 兴业县| 辛集市| 浙江省| 兖州市| 江华| 大同市| 杨浦区| 梧州市| 永嘉县| 日喀则市| 巍山| 龙游县| 信阳市| 简阳市| 自贡市| 深圳市| 永德县| 长阳| 秦安县|