国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

OpenCV-Python:簡單實現(xiàn)人臉識別

這篇具有很好參考價值的文章主要介紹了OpenCV-Python:簡單實現(xiàn)人臉識別。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

安裝

pip install numpy
pip install opencv-python
pip install opencv-contrib-python

OpenCV主要模塊

core

核心功能模塊。該模塊主要包含 OpenCV庫的基礎(chǔ)結(jié)構(gòu)以及基本操作,例如OpenCV基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)、繪圖函數(shù)、數(shù)組操作相關(guān)函數(shù)、動態(tài)數(shù)據(jù)結(jié)構(gòu)等calib3d:
這個模塊名稱是有 calibration(校準(zhǔn))和 3D 兩個術(shù)語的縮寫組合而成。包含了相機(jī)標(biāo)定與立體視覺等功能,例如物體位姿估計、三維重建、攝像頭標(biāo)定等

dnn

深度學(xué)習(xí)模塊。該模塊是 OpenCV4版的一個特色,主要包括:構(gòu)建神經(jīng)網(wǎng)絡(luò)、加載序列化網(wǎng)絡(luò)模型等。但這一模塊目前僅適用與正向傳遞計算(測試網(wǎng)絡(luò)),原則上不支持反向計算(訓(xùn)練網(wǎng)絡(luò))。

feature2d

該模塊是由 feature(特征)和 2D 兩個術(shù)語的縮寫組合而成的,其功能主要為處理圖像特征點,例如特征檢測、描述、匹配等

flann

快速近似最鄰近庫(Fast Library for Approximate Nearest Neighbors)。該模塊是高維的近似近鄰快速搜索算法庫,主要包含快速近似近鄰搜索、聚類等

gapi

該模塊是 OpenCV4.0 中新增模塊,旨在加速常規(guī)的圖像處理。與其他模塊相比,這個模塊主要充當(dāng)框架,而不是某些特定的計算機(jī)視覺算法

highgui

高層 GUI,包含創(chuàng)建和操作顯示圖像的窗口、處理鼠標(biāo)事件及鍵盤命令、提高圖形交互可視化界面等

imgcodecs

圖像文件讀取與保存模塊,主要用于圖像文件讀取與保存

imgproc

該模塊名稱是由 image(圖像)和 process(處理)兩個組合而成。是重要的圖像處理模塊,主要包含:圖像濾波、幾何變換、直方圖、特征檢測、目標(biāo)檢測等

ml

機(jī)器學(xué)習(xí)模塊,主要包括:統(tǒng)計分類、回歸、數(shù)據(jù)聚類等

objdetect

目標(biāo)檢測模塊,主要用于圖像的目標(biāo)檢測,如檢測 Haar 特征

photo

計算攝像模塊,只要包含圖像修復(fù)、去燥等

stitching

圖像拼接模塊,主要包含:特征點尋找與匹配圖像、估計旋轉(zhuǎn)、自動校準(zhǔn)、接縫估計等圖像拼接過程的相關(guān)內(nèi)容

video

視頻分析模塊,主要包含:運動估計、背景分離、對象跟蹤等視頻處理等

videoio

視頻輸入/輸出模塊,主要用于讀取、寫入視頻 或者圖像序列


圖片基本操作

攝像頭采集圖片

# 引入OpenCV庫
import cv2

# 調(diào)用攝像頭進(jìn)行拍照 VideoCapture(0)0為默認(rèn)攝像頭
cap = cv2.VideoCapture(0)
# 獲取一幀圖片
# 如果捕獲成功,代碼中ret值為真,img為捕獲的圖像。
ret, img = cap.read()
# 釋放捕獲對象
cap.release()

讀取圖片

cv2.imread(path, 標(biāo)記)

第二個參數(shù)指定圖片被讀取的方式:

  • cv2.IMREAD_COLOR : 讀入彩色圖像,默認(rèn)模式;
  • cv2.IMREAD_GRAYSCALE : 以灰度模式讀入圖像;
  • cv2.IMREAD_UNCHANGED : 加載圖像包含alpha通道。

使用數(shù)字簡約表示以上三種標(biāo)記,分別為 1, 0-1

import cv2
image_path = "images.jpg"
img = cv2.imread(image_path,0)

顯示圖像

import cv2
cap=cv2.VideoCapture(0)
ret,img=cap.read()    
## 如果捕獲成功,代碼中ret值為真,img為捕獲的圖像。
cap.release()
if ret:
    cv2.imshow('demo',img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
else:
    print("錯誤")
imshow(窗口名稱, 圖片對象) 

保存圖片

import cv2
cap=cv2.VideoCapture(0)
ret,img=cap.read()
cap.release()
if ret:
    cv2.imshow('demo',img)
    cv2.imwrite('2.png', img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
else:
    print("錯誤")
import cv2
cap=cv2.VideoCapture(0)
ret,img=cap.read()
cap.release()
if ret:
    cv2.imshow('demo',img)
    cv2.imwrite('2.png', img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
else:
    print("錯誤")
cv2.imwrite(path, 圖片對象)

色彩空間

色彩空間(Color space)是對色彩的組織方式,是坐標(biāo)系統(tǒng)和子空間的闡述,位于系統(tǒng)的每種顏色都有單個點表示。

RGB

OpenCV中默認(rèn)的色彩空間是BGR。BGRRGB的區(qū)別只是三個顏色信道的位置發(fā)生了變化,實際上原理相同。

OpenCV-Python:簡單實現(xiàn)人臉識別

HSV與HSL色彩空間

為了更好的數(shù)字化處理顏色,提出了HSV,HSL兩個色彩空間。

HSV色彩空間中,H色調(diào)(hue)S飽和度(saturation), V明度(value)。

HSL色彩空間中,H色調(diào)(hue),S飽和度(saturation),L亮度(lightness)

灰度空間

OpenCV的灰度空間中,和一般的色彩空間相同,每一個顏色都有三個量,但是只有第一個亮度有值,所以表示為(亮度,0,0)。

其中,亮度是根據(jù)如下灰度公式計算而得:Gray = R*0.299 + G*0.587 + B*0.114

色彩空間轉(zhuǎn)換

經(jīng)常用到的是以下兩種:

  1. BGR空間到Gray空間 的轉(zhuǎn)換;
  2. BGR空間到HSV空間 的轉(zhuǎn)換。

使用的函數(shù)為:cv2.cvtColor()

它的函數(shù)聲明為:

  1. cv2.cvtColor(圖片對象,轉(zhuǎn)換類型)

對于BGRGray的轉(zhuǎn)換,使cv2.COLOR_BGR2GRAY類型。

同樣的,對于BGRHSV的轉(zhuǎn)換,使用cv2.COLOR_BGR2HSV類型。

import cv2, requests
r=requests.get('https://raw.githubusercontent.com/MrHarsh10/ImageHosting-/main/img/202209062216524.jpg')
with open('pic.jpg','wb') as f:
    f.write(r.content)
img=cv2.imread('pic.jpg',1)
img2=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
cv2.imshow('處理前',img)
cv2.imshow('處理后',img2)
cv2.waitKey(0)
cv2.destroyAllWindows()
cv2.imwrite('test.jpg',img2) 

人臉識別應(yīng)用

類Harr特征

圖像中的特征通常是指,圖片的像素點經(jīng)過一系列的運算之后得到的結(jié)果,這些結(jié)果可能是向量、矩陣和多維數(shù)據(jù)等等。類Harr特征是一種反映圖像的灰度變化的,像素分模塊求差值的一種特征。

Harr特征類別

可分為三類:邊緣特征、線性特征、中心特征和對角線特征

邊緣特征

OpenCV-Python:簡單實現(xiàn)人臉識別

線性特征

OpenCV-Python:簡單實現(xiàn)人臉識別

中心特征和對角線特征

OpenCV-Python:簡單實現(xiàn)人臉識別

使用Harr分類器檢測人臉

OpenCV 中的人臉訓(xùn)練模型格式為 XML,可以從 https://github.com/opencv/opencv/tree/master/data/haarcascades 。在此我們使用Harrcascade_frontalface_default.xml模型檢測人臉。

聲明分類器:

CascadeClassifier(path)

調(diào)用分類函數(shù):

detectMultiScale(img,scaleFactor, minNeighbors, minSize)`

參數(shù)說明:

  1. 圖片對象:待識別圖片對象;
  2. scaleFactor:圖像縮放比例;
  3. minNeighbors:對特征檢測點周邊多少有效點同時檢測,這樣可避免因選取的特征檢測點太小而導(dǎo)致遺漏;
  4. minSize:特征檢測點的最小尺寸,可選參數(shù)。
import cv2
img=cv2.imread('1.png',1)
grayimg=cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
faces = face_cascade.detectMultiScale(grayimg, 1.2, 5)

for (x,y,w,h) in faces:
    print((x,y,w,h))
    cv2.rectangle(img, (x, y), (x + w, y + h), (255, 0, 0), 6)
cv2.imshow('demo',img)
cv2.imwrite('out.jpg',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

OpenCV-Python:簡單實現(xiàn)人臉識別
OpenCV-Python:簡單實現(xiàn)人臉識別文章來源地址http://www.zghlxwxcb.cn/news/detail-493767.html

攝像頭實時識別

import cv2
import numpy as np
capture = cv2.VideoCapture(0)
if capture.isOpened():
    while True:
        ret, frame = capture.read()
        grayimg = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
        face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
        faces = face_cascade.detectMultiScale(grayimg, 1.2, 5)
        for (x, y, w, h) in faces:
            cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 0, 255), 2)
        cv2.imshow('frame', frame)
        if cv2.waitKey(1) == ord('q'):
            capture.release()
            break
cv2.destroyAllWindows()

到了這里,關(guān)于OpenCV-Python:簡單實現(xiàn)人臉識別的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • python+opencv最簡單的人臉識別入門

    python+opencv最簡單的人臉識別入門

    安裝python(最新3.10即可) 安裝pycharm(社區(qū)版即可) 安裝opencv-python(cmd輸入pip install opencv-python即可,嫌慢用國內(nèi)鏡像也可以) 后續(xù)也需要安裝opencv-contrib-python 結(jié)果是直接在窗口直接顯示圖片 灰度圖與原始圖比較 運行如下(疑似歪頭馬斯克沒被識別出來) 更換了檢測數(shù)據(jù)源,從單張圖片

    2024年02月04日
    瀏覽(22)
  • Python 基于 OpenCV 視覺圖像處理實戰(zhàn) 之 OpenCV 簡單人臉檢測/識別實戰(zhàn)案例 之四 簡單行人人體檢測效果

    Python 基于 OpenCV 視覺圖像處理實戰(zhàn) 之 OpenCV 簡單人臉檢測/識別實戰(zhàn)案例 之四 簡單行人人體檢測效果

    目錄 Python 基于 OpenCV 視覺圖像處理實戰(zhàn) 之 OpenCV 簡單人臉檢測/識別實戰(zhàn)案例 之四 簡單行人人體檢測效果 一、簡單介紹 二、簡單行人人體檢測效果實現(xiàn)原理 三、簡單行人人體檢測效果案例實現(xiàn)簡單步驟 四、注意事項 Python是一種跨平臺的計算機(jī)程序設(shè)計語言。是一種面向?qū)?/p>

    2024年04月26日
    瀏覽(103)
  • 人工智能-OpenCV+Python實現(xiàn)人臉識別(人臉檢測)

    在OpenCV中使用Haar特征檢測人臉,那么需要使用OpenCV提供的xml文件(級聯(lián)表)在haarcascades目錄下。這張級聯(lián)表有一個訓(xùn)練好的AdaBoost訓(xùn)練集。首先要采用樣本的Haar特征訓(xùn)練分類器,從而得到一個級聯(lián)的AdaBoost分類器。Haar特征值反映了圖像的灰度變化情況。例如:臉部的一些特征

    2024年02月06日
    瀏覽(91)
  • 【opencv】python實現(xiàn)人臉檢測和識別訓(xùn)練

    【opencv】python實現(xiàn)人臉檢測和識別訓(xùn)練

    OpenCV 中的人臉識別通?;诠柼卣鞣诸惼鳎℉aar Cascade Classifier)進(jìn)行。以下是 OpenCV 人臉識別的基本原理: Haar Cascade Classifier : 特征分類器 :Haar 特征是一種基于矩形區(qū)域的特征,可以用于圖像中的對象檢測。這些特征可以表示邊緣、線和區(qū)域的變化等。 級聯(lián)分類器 :

    2024年01月17日
    瀏覽(22)
  • Python - OpenCV實現(xiàn)攝像頭人臉識別(親測版)

    Python - OpenCV實現(xiàn)攝像頭人臉識別(親測版)

    要使用Python 3和OpenCV進(jìn)行攝像頭人臉識別,您可以按照以下步驟進(jìn)行操作: 0.安裝OpenCV軟件 去官網(wǎng)直接下載安裝即可,如果是C++使用OpenCV,需要使用編譯源碼并配置環(huán)境變量。 1.安裝OpenCV庫 在命令行中輸入以下命令: 2.準(zhǔn)備人臉檢測器 使用OpenCV的人臉檢測器可以檢測出圖像中

    2024年02月15日
    瀏覽(24)
  • OpenCV-Python實戰(zhàn)(14)——人臉檢測詳解(僅需6行代碼學(xué)會4種人臉檢測方法)

    OpenCV-Python實戰(zhàn)(14)——人臉檢測詳解(僅需6行代碼學(xué)會4種人臉檢測方法)

    人臉處理是人工智能中的一個熱門話題,人臉處理可以使用計算機(jī)視覺算法從人臉中自動提取大量信息,例如身份、意圖和情感。人臉在視覺交流中起著重要作用,這是由于人臉中包含大量非語言信息,因此人臉處理一直以來對于計算機(jī)視覺學(xué)習(xí)者來說都是非常有趣的話題,

    2024年02月06日
    瀏覽(19)
  • Python+OpenCV 調(diào)用手機(jī)攝像頭并實現(xiàn)人臉識別

    Python+OpenCV 調(diào)用手機(jī)攝像頭并實現(xiàn)人臉識別

    文章內(nèi)容 : 1、windows 環(huán)境下安裝 OpenCV 機(jī)器視覺環(huán)境搭建; 2、基于通過 Python+OpenCV 調(diào)用 手機(jī)攝像頭 并實現(xiàn)人臉檢測識別。 操作環(huán)境:Windows 10 64位 開發(fā) IDE:Spyder 4.2.5 Python:3.8 OpenCV:OpenCv-Python 4.5.3 硬件需要:PC(win10)、手機(jī) 主要介紹使用 pip 安裝 OpenCV(使用.whl文件安裝

    2024年02月09日
    瀏覽(33)
  • 基于opencv和python的人臉識別簽到系統(tǒng)設(shè)計與實現(xiàn)

    基于opencv和python的人臉識別簽到系統(tǒng)設(shè)計與實現(xiàn)

    收藏和點贊,您的關(guān)注是我創(chuàng)作的動力 ??人臉識別廣泛的應(yīng)用于各個領(lǐng)域。一般來說,人臉具有人類基因、指紋等獨特的生物學(xué)特性,因此可以作為生物特征識別,從而方便、快速、準(zhǔn)確地識別被攝體,可見人臉識別是一種有效的身份識別工具。該技術(shù)可以應(yīng)用于任何需要

    2024年02月04日
    瀏覽(26)
  • python基于opencv和tkinter實現(xiàn)人臉識別【內(nèi)附完整代碼】

    人臉識別技術(shù)已經(jīng)在許多領(lǐng)域得到了廣泛應(yīng)用,例如安防、金融、醫(yī)療等等。人臉識別可以幫助我們識別和驗證一個人的身份,這是一項非常重要的任務(wù)。本篇博客將介紹如何使用Python和OpenCV庫進(jìn)行人臉識別。我們將學(xué)習(xí)如何使用OpenCV中的人臉檢測器檢測圖像中的人臉,如何

    2023年04月14日
    瀏覽(33)
  • 計算機(jī)競賽 深度學(xué)習(xí) python opencv 實現(xiàn)人臉年齡性別識別

    計算機(jī)競賽 深度學(xué)習(xí) python opencv 實現(xiàn)人臉年齡性別識別

    ?? 優(yōu)質(zhì)競賽項目系列,今天要分享的是 ?? 基于深度學(xué)習(xí)的人臉年齡性別識別算法實現(xiàn) 該項目較為新穎,適合作為競賽課題方向,學(xué)長非常推薦! ??學(xué)長這里給一個題目綜合評分(每項滿分5分) 難度系數(shù):4分 工作量:4分 創(chuàng)新點:3分 ?? 更多資料, 項目分享: https://gitee

    2024年02月07日
    瀏覽(87)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包