加入星計劃,您可以享受以下權益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
  • 相關推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

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

11/07 14:50
1405
閱讀需 6 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

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

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

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

1、安裝python3-opencv

apt install python3-opencv

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

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

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

為此建立opencv_test.py

import cv2

video = cv2.VideoCapture(0)

設置相機參數(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裝好后,可以為后面的人臉檢測提供可行性。

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

OpenCV人臉檢測方法

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

【參考資料】

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

【Haar級聯(lián)檢測器預訓練模型下載】

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

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

【獲取檢測人臉的圖片】

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

【編寫檢測代碼】

import numpy as np

import cv2 as cv

 

if __name__ == '__main__':

# (6) 使用 Haar 級聯(lián)分類器 預訓練模型 檢測人臉

# 讀取待檢測的圖片

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

print(img.shape)

# 加載 Haar 級聯(lián)分類器 預訓練模型

model_path = "haarcascade_frontalface_alt2.xml"

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

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

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)

# 繪制人臉檢測框

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()

【實驗效果】

運行程序后,可以正確地識別,效果如下:

米爾科技

米爾科技

米爾電子,是一家專注于嵌入式處理器模組設計、研發(fā)、生產(chǎn)和銷售于一體的國家級高新技術企業(yè),也被評為專精特新企業(yè)。米爾電子深耕嵌入式領域10多年,致力于為企業(yè)級客戶提供基于ARM、FPGA、RISC-V和AI等各種架構,穩(wěn)定可靠的處理器模組,滿足客戶大批量產(chǎn)品應用部署的需求,同時為客戶提供產(chǎn)品定制設計、行業(yè)應用解決方案和OEM的一站式服務。

米爾電子,是一家專注于嵌入式處理器模組設計、研發(fā)、生產(chǎn)和銷售于一體的國家級高新技術企業(yè),也被評為專精特新企業(yè)。米爾電子深耕嵌入式領域10多年,致力于為企業(yè)級客戶提供基于ARM、FPGA、RISC-V和AI等各種架構,穩(wěn)定可靠的處理器模組,滿足客戶大批量產(chǎn)品應用部署的需求,同時為客戶提供產(chǎn)品定制設計、行業(yè)應用解決方案和OEM的一站式服務。 收起

查看更多

相關推薦

電子產(chǎn)業(yè)圖譜

米爾電子,是一家專注于嵌入式處理器模組設計、研發(fā)、生產(chǎn)和銷售于一體的國家級高新技術企業(yè),也被評為專精特新企業(yè)。米爾電子深耕嵌入式領域10多年,致力于為企業(yè)級客戶提供基于ARM、FPGA、RISC-V和AI等各種架構,穩(wěn)定可靠的處理器模組,滿足客戶大批量產(chǎn)品應用部署的需求,同時為客戶提供產(chǎn)品定制設計、行業(yè)應用解決方案和OEM的一站式服務。 米爾英文簡稱“MYIR”,是“Make Your Idea Real”第一個大寫字母的縮寫。我們的理念是“專業(yè)服務助力客戶成功”,目前米爾已通過專業(yè)高效的服務,幫助全球數(shù)萬家企業(yè)的產(chǎn)品成功上市。