色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 智能計(jì)算 > 設(shè)計(jì)應(yīng)用 > 基于OPENCV的相機(jī)捕捉視頻進(jìn)行人臉檢測(cè)--米爾NXP i.MX93開發(fā)板

          基于OPENCV的相機(jī)捕捉視頻進(jìn)行人臉檢測(cè)--米爾NXP i.MX93開發(fā)板

          作者: 時(shí)間:2024-11-08 來源:EEPW 收藏

          本篇測(cè)評(píng)由與非網(wǎng)的優(yōu)秀測(cè)評(píng)者“eefocus_3914144”提供。

          本文引用地址:http://cafeforensic.com/article/202411/464467.htm

          本文將介紹基于米爾電子MYD-LMX93開發(fā)板(米爾基于NXP i.MX93開發(fā)板)的基于OpenCV的人臉檢測(cè)方案測(cè)試。

          OpenCV提供了一個(gè)非常簡(jiǎn)單的接口,用于相機(jī)捕捉一個(gè)視頻(我用的電腦內(nèi)置攝像頭)

          1、安裝python3-opencv

          apt install python3-opencv

          1731061571702409.png

          2、查看攝像頭支持的格式與分辨率

          root@debian:~# v4l2-ctl --device=/dev/video0 --list-formats-ext

          1731061593948387.png

          經(jīng)測(cè)試,只能支持640*480

          為此建立opencv_test.py

          import cv2

          video = cv2.VideoCapture(0)

          1731061630649222.png

          設(shè)置相機(jī)參數(shù)

          video .set(cv2.CAP_PROP_FRAME_WIDTH, 1280)

          video .set(cv2.CAP_PROP_FRAME_HEIGHT, 720)

          while True:

          ret, frame = video.read()

          cv2.imshow("A video", frame)

          c = cv2.waitKey(1)

          if c == 27:

          breakvideo.release()cv2.destroyAllWindows()

          保存后執(zhí)行”python3 opencv_test.py

          OpenCV裝好后,可以為后面的人臉檢測(cè)提供可行性。

          要實(shí)現(xiàn)人臉識(shí)別功能,首先要進(jìn)行人臉檢測(cè),判斷出圖片中人臉的位置,才能進(jìn)行下一步的操作。

          OpenCV人臉檢測(cè)方法

          在OpenCV中主要使用了兩種特征(即兩種方法)進(jìn)行人臉檢測(cè),Haar特征和LBP特征。用得最多的是Haar特征人臉檢測(cè),此外OpenCV中還集成了深度學(xué)習(xí)方法來實(shí)現(xiàn)人臉檢測(cè)。

          【參考資料】

          使用OpenCV工具包成功實(shí)現(xiàn)人臉檢測(cè)與人臉識(shí)別,包括傳統(tǒng)視覺和深度學(xué)習(xí)方法(附完整代碼,模型下載......)_opencv人臉識(shí)別-CSDN博客

          【Haar級(jí)聯(lián)檢測(cè)器預(yù)訓(xùn)練模型下載】

          opencv/opencv: Open Source Computer Vision Library (github.com)

          下載好的,在opencv-4.xdatahaarcascades文件夾下有模型,把他上傳到開發(fā)板。

          【獲取檢測(cè)人臉的圖片】

          我在百度上找到了**的圖片,并把它也上傳到開發(fā)板。

          【編寫檢測(cè)代碼】

          import numpy as np

          import cv2 as cv

          if __name__ == '__main__':

          # (6) 使用 Haar 級(jí)聯(lián)分類器 預(yù)訓(xùn)練模型 檢測(cè)人臉

          # 讀取待檢測(cè)的圖片

          img = cv.imread("yanmi.jpg")

          print(img.shape)

          # 加載 Haar 級(jí)聯(lián)分類器 預(yù)訓(xùn)練模型

          model_path = "haarcascade_frontalface_alt2.xml"

          face_detector = cv.CascadeClassifier(model_path)  # <class 'cv2.CascadeClassifier'>

          # 使用級(jí)聯(lián)分類器檢測(cè)人臉

          faces = face_detector.detectMultiScale(img, scaleFactor=1.1, minNeighbors=1,

          minSize=(30, 30), maxSize=(300, 300))

          print(faces.shape)  # (17, 4)

          print(faces[0])  # (x, y, width, height)

          # 繪制人臉檢測(cè)框

          for x, y, width, height in faces:

          cv.rectangle(img, (x, y), (x + width, y + height), (0, 0, 255), 2, cv.LINE_8, 0)

          # 顯示圖片

          cv.imshow("faces", img)

          cv.waitKey(0)

          cv.destroyAllWindows()

          【實(shí)驗(yàn)效果】

          運(yùn)行程序后,可以正確地識(shí)別,效果如下:

          1731061696647682.png



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉