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

樹(shù)莓派上利用python+opencv+dlib實(shí)現(xiàn)嘴唇檢測(cè)的實(shí)現(xiàn)

 更新時(shí)間:2021年10月31日 09:29:13   作者:若水上善666  
本文主要介紹了樹(shù)莓派上利用python+opencv+dlib實(shí)現(xiàn)嘴唇檢測(cè)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

樹(shù)莓派上利用python+opencv+dlib實(shí)現(xiàn)嘴唇檢測(cè)

項(xiàng)目的目標(biāo)是在樹(shù)莓派上運(yùn)行python代碼以實(shí)現(xiàn)嘴唇檢測(cè),本來(lái)以為樹(shù)莓派的硬件是可以流暢運(yùn)行實(shí)時(shí)檢測(cè)的,但是實(shí)驗(yàn)的效果表明樹(shù)莓派實(shí)時(shí)檢測(cè)是不可行,后面還需要改進(jìn)。

實(shí)驗(yàn)的效果如下:

在這里插入圖片描述

1、安裝相關(guān)庫(kù)文件

這里需要用的庫(kù)有opencv,numpy,dlib。

1.1 安裝opencv

pip3 install opencv-python

1.2 安裝numpy

樹(shù)莓派中自帶了numpy庫(kù)

pip3 install numpy

1.3 安裝dlib

在樹(shù)莓派的系統(tǒng)里面安裝dlib比較簡(jiǎn)單,只需要pip install就可以了,但是在window系統(tǒng)中會(huì)有報(bào)錯(cuò),這個(gè)時(shí)候我們就需要安裝pip install dlib-19.17.99-cp37-cp37m-win_amd64.whl就可以了, 需要注意的是: 不同的python版本要安裝對(duì)應(yīng)版本的dlib,也就是后面的“cp37-cp37m”,查看對(duì)應(yīng)python能安裝的版本號(hào),可以使用命令行:pip debug --verbose,可以顯示合適的安裝版本號(hào)。
在樹(shù)莓派上我安裝了cmake和dlib

pip3 install cmake
pip3 install dlib

2、代碼部分

dlib提取人臉特征中包含68個(gè)點(diǎn)

在這里插入圖片描述

顎點(diǎn)= 0–16
右眉點(diǎn)= 17–21
左眉點(diǎn)= 22–26
鼻點(diǎn)= 27–35
右眼點(diǎn)= 36–41
左眼點(diǎn)= 42–47
口角= 48–60
嘴唇分?jǐn)?shù)= 61–67

from gpiozero import LED
from time import sleep
from subprocess import check_call
import cv2
import numpy as np
import dlib

print(cv2.__version__)
def search_cap_num():
    for i in range(2000):
        cap = cv2.VideoCapture(i)
        cap_opened = cap.isOpened()
        if cap_opened == True:
            return i
        
cap_num = search_cap_num()
cap = cv2.VideoCapture(cap_num)

detector = dlib.get_frontal_face_detector()
predictor = dlib.shape_predictor("shape_predictor_68_face_landmarks.dat")

# 規(guī)定上嘴唇和下嘴唇連線的路徑
lip_order_dlib = np.array([[48, 49, 50, 51, 52, 53, 54, 64, 63, 62, 61, 60, 48],
                           [48, 59, 58, 57, 56, 55, 54, 64, 65, 66, 67, 60, 48]]) - 48
lip_order_num = lip_order_dlib.shape[1]

while 1:
    landmarks_lip = []
    ret, frame = cap.read()
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    rects = detector(gray, 1)
    print('faces number:' + str(len(rects)))
    for (i, rect) in enumerate(rects):
        # 標(biāo)記人臉中的68個(gè)landmark點(diǎn)
        landmarks = predictor(gray, rect)  
        for n in range(48, 68):
            x = landmarks.part(n).x
            y = landmarks.part(n).y
            landmarks_lip.append((x, y))
            # cv2.circle(img=img, center=(x, y), radius=3, color=(0, 255, 0), thickness=-1)
        for m in range(lip_order_num-1):
            cv2.line(frame, landmarks_lip[lip_order_dlib[0][m]], landmarks_lip[lip_order_dlib[0][m+1]], color=(0, 255, 0), thickness=2, lineType=8)
        for n in range(lip_order_num-1):
            cv2.line(frame, landmarks_lip[lip_order_dlib[1][n]], landmarks_lip[lip_order_dlib[1][n+1]], color=(0, 255, 0), thickness=2, lineType=8)
    cv2.imshow("face", frame)
    if cv2.waitKey(1) & 0xff == ord('q'):
        break
cap.release()
cv2.destroyAllWindows()
# check_call(['sudo', 'poweroff'])

3、實(shí)驗(yàn)效果

請(qǐng)?zhí)砑訄D片描述

效果總體而言比較卡頓,感覺(jué)分析一張圖片花費(fèi)時(shí)間在秒量級(jí)上。
要是僅僅是顯示攝像頭的圖片還是很快的,沒(méi)有任何卡頓,也就是說(shuō)如果代碼中不存在rects = detector(gray, 1)這種獲取人臉區(qū)域的檢測(cè)命令,那么運(yùn)行速度大大提高,后面需要思考怎么在人臉檢測(cè)下提高代碼運(yùn)行速度。

到此這篇關(guān)于樹(shù)莓派上利用python+opencv+dlib實(shí)現(xiàn)嘴唇檢測(cè)的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)python+opencv+dlib嘴唇檢測(cè)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python 切片和range()用法說(shuō)明

    python 切片和range()用法說(shuō)明

    首先需要明白,可迭代對(duì)象,按照正數(shù)索引(正序)是從0開(kāi)始的,按照負(fù)數(shù)索引(逆序)是從-1開(kāi)始的
    2013-03-03
  • Python的多態(tài)性實(shí)例分析

    Python的多態(tài)性實(shí)例分析

    這篇文章主要介紹了Python的多態(tài)性,以實(shí)例形式深入淺出的分析了Python在面向?qū)ο缶幊讨卸鄳B(tài)性的原理與實(shí)現(xiàn)方法,需要的朋友可以參考下
    2015-07-07
  • python經(jīng)典100題之皮球掉落的幾種解法

    python經(jīng)典100題之皮球掉落的幾種解法

    這篇文章主要給大家介紹了關(guān)于python經(jīng)典100題之皮球掉落的幾種解法,這個(gè)問(wèn)題相信不少人都可以從網(wǎng)絡(luò)上找到相對(duì)應(yīng)的答案本文提供了3種解法,需要的朋友可以參考下
    2023-11-11
  • python繪制散點(diǎn)圖和折線圖的方法

    python繪制散點(diǎn)圖和折線圖的方法

    這篇文章主要為大家詳細(xì)介紹了python繪制散點(diǎn)圖和折線圖的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • Pycharm2020.1安裝無(wú)法啟動(dòng)問(wèn)題即設(shè)置中文插件的方法

    Pycharm2020.1安裝無(wú)法啟動(dòng)問(wèn)題即設(shè)置中文插件的方法

    這篇文章主要介紹了Pycharm2020.1安裝無(wú)法啟動(dòng)問(wèn)題即設(shè)置中文插件的操作方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2020-08-08
  • 在Keras中實(shí)現(xiàn)保存和加載權(quán)重及模型結(jié)構(gòu)

    在Keras中實(shí)現(xiàn)保存和加載權(quán)重及模型結(jié)構(gòu)

    這篇文章主要介紹了在Keras中實(shí)現(xiàn)保存和加載權(quán)重及模型結(jié)構(gòu),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-06-06
  • Python中IO多路復(fù)用模塊selector的用法詳解

    Python中IO多路復(fù)用模塊selector的用法詳解

    selector?是一個(gè)實(shí)現(xiàn)了IO復(fù)用模型的python包,實(shí)現(xiàn)了IO多路復(fù)用模型的?select、poll?和?epoll?等函數(shù),下面就跟隨小編一起來(lái)學(xué)習(xí)一下它的具體使用吧
    2024-02-02
  • Python OpenCV 彩色與灰度圖像的轉(zhuǎn)換實(shí)現(xiàn)

    Python OpenCV 彩色與灰度圖像的轉(zhuǎn)換實(shí)現(xiàn)

    為了加快處理速度在圖像處理算法中,往往需要把彩色圖像轉(zhuǎn)換為灰度圖像,本文主要介紹了Python OpenCV 彩色與灰度圖像的轉(zhuǎn)換實(shí)現(xiàn),感興趣的可以了解一下
    2021-06-06
  • 使用Python刪除PDF文檔頁(yè)面的頁(yè)邊距的操作代碼

    使用Python刪除PDF文檔頁(yè)面的頁(yè)邊距的操作代碼

    在處理PDF文檔時(shí),有時(shí)候我們會(huì)遇到PDF文件帶有較大的頁(yè)邊距的情況,這樣過(guò)大的頁(yè)邊距不僅浪費(fèi)了頁(yè)面空間,而且在打印或電子閱讀時(shí)也可能影響用戶體驗(yàn),本文使用的方法需要用到Spire.PDF?for?Python,PyPI:pip?install?spire.pdf,需要的朋友可以參考下
    2024-10-10
  • python之ImportError:模塊引入異常問(wèn)題

    python之ImportError:模塊引入異常問(wèn)題

    這篇文章主要介紹了python之ImportError:模塊引入異常問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06

最新評(píng)論

宁陵县| 登封市| 寻甸| 麟游县| 康乐县| 高青县| 铁岭市| 新宁县| 西藏| 土默特左旗| 樟树市| 西昌市| 伊通| 呈贡县| 秦安县| 漾濞| 都匀市| 白银市| 沛县| 两当县| 溆浦县| 巴里| 北川| 张家界市| 南溪县| 蒙自县| 房山区| 福州市| 花莲县| 慈溪市| 长泰县| 青铜峡市| 桐乡市| 德阳市| 江口县| 颍上县| 乡城县| 揭西县| 开远市| 当雄县| 武邑县|