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

Python下應(yīng)用opencv 實現(xiàn)人臉檢測功能

 更新時間:2019年10月24日 13:51:51   作者:leon_zeng0  
OpenCV是如今最流行的計算機視覺庫,今天我們通過本文給大家分享Python下應(yīng)用opencv 實現(xiàn)人臉檢測功能,感興趣的朋友跟隨小編一起看看吧

使用OpenCV's Haar cascades作為人臉檢測,因為他做好了庫,我們只管使用。

代碼簡單,除去注釋,總共有效代碼只有10多行。

所謂庫就是一個檢測人臉的xml 文件,可以網(wǎng)上查找,下面是一個地址:

https://github.com/opencv/opencv/blob/master/data/haarcascades/haarcascade_frontalface_default.xml

如何構(gòu)造這個庫,學(xué)習(xí)完本文后可以參考:

http://note.sonots.com/SciSoftware/haartraining.html

https://www.instructables.com/id/Create-OpenCV-Image-Classifiers-Using-Python/

知道構(gòu)造庫,就可以檢測各種你想要檢測的東西了。

人臉檢測不是人臉識別,但是人臉識別的前提。

運行效果如下:

前提:

這個原始代碼來自 https://www.pyimagesearch.com/2016/11/21/raspbian-opencv-pre-configured-and-pre-installed/ 的一個教學(xué)講稿。

你需要下載haarcascade_frontalface_default.xml 以及準備你要檢測的文件,我這里是family.jpg,放在python 文件detect_faces.py 所在目錄(工作目錄)的子目錄images下。haarcascade_frontalface_default.xml是放在工作目錄。

如果加上攝像頭連接程序,也可實時檢測,另文介紹。

代碼1介紹

導(dǎo)入庫,并做命令行參數(shù)處理。你在命令行可以輸入如下:

python detect_faces.py --image image/family.jpg  --detector haarcascade_frontalface_default.xml

我在程序中都有缺省參數(shù)處理,你如果集成測試或命令行不輸參數(shù)的話,就要修改好你的缺省值。

這樣命令行就是python detect_faces.py ,同時也可以輸入命令行輸入?yún)?shù)。

# USAGE 使用方法是:
# python detect_faces.py --image images/family.jpg \
# --detector haarcascade_frontalface_default.xml
# import the necessary packages 輸入包
# import imutils 
import argparse
import cv2
# construct the argument parser and parse the arguments //構(gòu)造命令行參數(shù)分析
# 為了集成測試,或者命令行輸入的簡單,這里都有缺省參數(shù)
#image 是 images/family.jpg
#detector 是 haarcascade_frontalface_default.xml
ap = argparse.ArgumentParser()
ap.add_argument("-i", "--image", default='images/family.jpg',
 help="path to the input image")
ap.add_argument("-d", "--detector", default='haarcascade_frontalface_default.xml',
 help="path to Haar cacscade face detector")
args = vars(ap.parse_args())
 導(dǎo)入圖形文件,并灰度處理
# load our image and convert it to grayscale 導(dǎo)入圖形文件,并灰度化
image = cv2.imread(args["image"])
#image =imutils.resize(image,width=800)
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
導(dǎo)入檢測文件,檢測圖中人臉,顯示檢測到的人臉數(shù)
# load the face detector and detect faces in the image
# 導(dǎo)入臉部檢測文件
detector = cv2.CascadeClassifier(args["detector"])
#檢測圖形中的臉部
rects = detector.detectMultiScale(gray, scaleFactor=1.05, minNeighbors=9,
 minSize=(40, 40), flags=cv2.CASCADE_SCALE_IMAGE)
#顯示檢測到的人臉數(shù)目
print("[INFO] detected {} faces".format(len(rects)))
 循環(huán),繪圖每個檢測到的人臉框,并圖形顯示
# load the face detector and detect faces in the image
# 導(dǎo)入臉部檢測
detector = cv2.CascadeClassifier(args["detector"])
#檢測圖形中的臉部
rects = detector.detectMultiScale(gray, scaleFactor=1.05, minNeighbors=9,
 minSize=(40, 40), flags=cv2.CASCADE_SCALE_IMAGE)
#顯示檢測到的人臉數(shù)目
print("[INFO] detected {} faces".format(len(rects)))

最后串接所有代碼如下:

# USAGE 使用方法是:
# python detect_faces.py --image images/family.jpg \
# --detector haarcascade_frontalface_default.xml
# import the necessary packages 輸入包
# import imutils 如果需要成比例縮放圖形才需要,這里不需要
import argparse
import cv2
# construct the argument parser and parse the arguments //構(gòu)造命令行參數(shù)分析
# 為了集成測試,或者命令行輸入的簡單,這里都有缺省參數(shù)
#image 是 images/family.jpg
#detector 是 haarcascade_frontalface_default.xml
ap = argparse.ArgumentParser()
ap.add_argument("-i", "--image", default='images/family.jpg',
 help="path to the input image")
ap.add_argument("-d", "--detector", default='haarcascade_frontalface_default.xml',
 help="path to Haar cacscade face detector")
args = vars(ap.parse_args())
# load our image and convert it to grayscale 導(dǎo)入圖形文件,并灰度化
image = cv2.imread(args["image"])
#image =imutils.resize(image,width=800)
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# load the face detector and detect faces in the image
# 導(dǎo)入臉部檢測文件
detector = cv2.CascadeClassifier(args["detector"])
#檢測圖形中的臉部
rects = detector.detectMultiScale(gray, scaleFactor=1.05, minNeighbors=9,
 minSize=(40, 40), flags=cv2.CASCADE_SCALE_IMAGE)
#顯示檢測到的人臉數(shù)目
print("[INFO] detected {} faces".format(len(rects)))
# loop over the bounding boxes and draw a rectangle around each face
# 循環(huán)rects,繪圖每個檢測到的人臉框
for (x, y, w, h) in rects:
 cv2.rectangle(image, (x, y), (x + w, y + h), (0, 255, 0), 2)
# show the detected faces
cv2.imshow("Faces", image)
cv2.waitKey(0)

總結(jié)

以上所述是小編給大家介紹的Python下應(yīng)用opencv 實現(xiàn)人臉檢測功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

相關(guān)文章

  • Python的Tqdm模塊實現(xiàn)進度條配置

    Python的Tqdm模塊實現(xiàn)進度條配置

    這篇文章主要介紹了Python的Tqdm模塊實現(xiàn)進度條配置,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • python tensorflow學(xué)習(xí)之識別單張圖片的實現(xiàn)的示例

    python tensorflow學(xué)習(xí)之識別單張圖片的實現(xiàn)的示例

    本篇文章主要介紹了python tensorflow學(xué)習(xí)之識別單張圖片的實現(xiàn)的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-02-02
  • 圖文詳解Python中如何簡單地解決Microsoft?Visual?C++?14.0報錯

    圖文詳解Python中如何簡單地解決Microsoft?Visual?C++?14.0報錯

    有的時候安裝python依賴包的時候,報錯信息"Microsoft?visual?c++?14.0?is?required"的解決辦法,下面這篇文章主要給大家介紹了關(guān)于Python中如何簡單地解決Microsoft?Visual?C++?14.0報錯的相關(guān)資料,需要的朋友可以參考下
    2023-02-02
  • python3獲取視頻文件播放時長的三種方法

    python3獲取視頻文件播放時長的三種方法

    這篇文章主要介紹了python3獲取視頻文件播放時長的三種方法,VideoFileClip,CV2以及FFmpeg這三種方法,文章通過代碼示例給大家講解的非常詳細,需要的朋友可以參考下
    2024-04-04
  • 使用Python獲取當(dāng)前工作目錄和執(zhí)行命令的位置

    使用Python獲取當(dāng)前工作目錄和執(zhí)行命令的位置

    這篇文章主要介紹了使用Python獲取當(dāng)前工作目錄和執(zhí)行命令的位置,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • Python疊加矩形框圖層2種方法及效果

    Python疊加矩形框圖層2種方法及效果

    這篇文章主要介紹了Python疊加矩形框圖層2種方法及效果,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-06-06
  • Python中kivy庫的使用教程詳解

    Python中kivy庫的使用教程詳解

    Kivy是一個開源Python框架,用于構(gòu)建具有創(chuàng)意和多點觸控功能的用戶界面(UI)應(yīng)用程序,本文主要為大家介紹了一下Kivy的具體使用,需要的可以參考下
    2024-01-01
  • 在Python中給Nan值更改為0的方法

    在Python中給Nan值更改為0的方法

    今天小編就為大家分享一篇在Python中給Nan值更改為0的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • python中導(dǎo)入 train_test_split提示錯誤的解決

    python中導(dǎo)入 train_test_split提示錯誤的解決

    這篇文章主要介紹了python中導(dǎo)入 train_test_split提示錯誤的解決,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • Python3 掃描庫文件并獲取版本號信息的操作方法

    Python3 掃描庫文件并獲取版本號信息的操作方法

    在 C/C++ 開發(fā)中使用了第三方庫,具體說是 .a, .lib, .dll 等文件,想通過 Python 查詢出這些文件中的版本號信息,下面小編給大家?guī)砹薖ython3中掃描庫文件并獲取版本號信息的知識,需要的朋友可以參考下
    2023-05-05

最新評論

喀喇| 宜川县| 佳木斯市| 玉田县| 青海省| 安溪县| 新安县| 翁源县| 剑阁县| 谷城县| 咸阳市| 兴文县| 武胜县| 达日县| 察雅县| 黔江区| 茶陵县| 北宁市| 共和县| 襄樊市| 左权县| 定结县| 漳浦县| 策勒县| 马鞍山市| 青浦区| 香港 | 晋城| 广南县| 兴国县| 南涧| 雅江县| 宁波市| 辽阳市| 彭山县| 永新县| 年辖:市辖区| 馆陶县| 舞钢市| 南宫市| 孟州市|