0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【幸狐Core3566模組試用體驗】基于openCV的貓臉識別

發(fā)燒電子愛好者 ? 來源:發(fā)燒電子愛好者 ? 作者:發(fā)燒電子愛好者 ? 2023-09-25 09:05 ? 次閱讀

本文主要介紹如何基于openCV來實現(xiàn)一個簡單的貓臉識別應(yīng)用。

一、基礎(chǔ)準備

首先需要安裝openCV,因為python版的方便點,所以直接安裝python版openCV,通過命令sudo apt-get install python-opencv即可完成。

linaro@linaro-alip:~$ sudo apt-get install python-opencv
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  liba52-0.7.4 libdca0 libdrm-freedreno1 libdrm-tegra0
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
  python-numpy python-pkg-resources
Suggested packages:
  gfortran python-dev python-pytest python-numpy-dbg python-numpy-doc python-setuptools
The following NEW packages will be installed:
  python-numpy python-opencv python-pkg-resources
0 upgraded, 3 newly installed, 0 to remove and 48 not upgraded.
Need to get 2,636 kB of archives.
After this operation, 14.7 MB of additional disk space will be used.
Do you want to continue? [Y/n]
Get:1 http://mirrors.ustc.edu.cn/debian buster/main arm64 python-pkg-resources all 40.8.0-1 [182 kB]
Get:2 http://mirrors.ustc.edu.cn/debian buster/main arm64 python-numpy arm64 1:1.16.2-1 [1,975 kB]
Get:3 http://mirrors.ustc.edu.cn/debian buster/main arm64 python-opencv arm64 3.2.0+dfsg-6 [478 kB]
Fetched 2,636 kB in 0s (5,938 kB/s)
Selecting previously unselected package python-pkg-resources.
(Reading database ... 76876 files and directories currently installed.)
Preparing to unpack .../python-pkg-resources_40.8.0-1_all.deb ...
Unpacking python-pkg-resources (40.8.0-1) ...
Selecting previously unselected package python-numpy.
Preparing to unpack .../python-numpy_1%3a1.16.2-1_arm64.deb ...
Unpacking python-numpy (1:1.16.2-1) ...
Selecting previously unselected package python-opencv.
Preparing to unpack .../python-opencv_3.2.0+dfsg-6_arm64.deb ...
Unpacking python-opencv (3.2.0+dfsg-6) ...
Setting up python-pkg-resources (40.8.0-1) ...
Setting up python-numpy (1:1.16.2-1) ...
Setting up python-opencv (3.2.0+dfsg-6) ...

安裝完成后檢查下,import cv2沒問題就OK了。

linaro@linaro-alip:~$ python
Python 2.7.16 (default, Sep 20 2023, 07:59:17)
[GCC 8.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> exit()

二、設(shè)計和實現(xiàn)

在OpenCV中,目標檢測使用的函數(shù)是cv2.CascadeClassifier.detectMultiScale(),它可以檢測圖像中所有的目標。其完整定義如下:

def detectMultiScale(self, image, scaleFactor=None, minNeighbors=None, flags=None, minSize=None, maxSize=None):

image:待檢測的圖像,通常為灰度圖像
scaleFactor:表示在前后兩次相繼的掃描中,搜索窗口的縮放比例
minNeighbors:表示構(gòu)成檢測目標的相鄰矩形的最小個數(shù)。默認值為3,表示有3個以上的檢測標記存在時,才認為目標的存在。如果希望提高檢測的準確率,可以將該值設(shè)置的更大,但同時可能會讓一些目標無法被檢測到
flags:不常用參數(shù),一般省略。
minSize:目標的最小尺寸,小于這個尺寸的目標將被忽略
maxSize:目標的最大尺寸,大于這個尺寸的目標將被忽略
該函數(shù)的返回值是目標對象的矩形框向量組。

OpenCV已經(jīng)自帶了貓臉的Haar特征分類器,本文選擇haarcascade_frontalcatface.xml識別分類器。

通過detectMultiScale函數(shù)返回的是貓臉的矩形框向量組,包括左上角坐標(x,y),長寬(w,h)。而繪制貓臉矩形框則通過rectangle函數(shù)實現(xiàn)。

具體實現(xiàn)python代碼如下:

import cv2 
face_cascade = cv2.CascadeClassifier('haarcascade_frontalcatface.xml') 

img = cv2.imread("./cats.jpg")

# convert to gray 
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) 

face_rect = face_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=3)
print("number of cats: ", len(face_rect))

for (x,y,w,h) in face_rect:
    cv2.rectangle(img, (x,y), (x+w, y+h), color=(0,255,0))
cv2.imwrite("cats-1.jpg", img)
cv2.release()

三、運行

測試的圖片是網(wǎng)上隨便下載的。

將圖片、貓臉識別分類器還有python上傳至幸狐 Core3566 模組,并運行python腳本。

TT.png

只識別出2只貓咪,看來有一只的臉不合格,要想識別出來,需要在detectMultiScale中調(diào)試參數(shù),進一步提示識別精準度,看了看時間,都快物業(yè)了,這里就不繼續(xù)了,來個識別的結(jié)果。

看來這個黑不溜秋的不好識別。

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 模組
    +關(guān)注

    關(guān)注

    6

    文章

    1411

    瀏覽量

    30229
  • OpenCV
    +關(guān)注

    關(guān)注

    29

    文章

    625

    瀏覽量

    41214
  • python
    +關(guān)注

    關(guān)注

    55

    文章

    4768

    瀏覽量

    84376
  • 腳本
    +關(guān)注

    關(guān)注

    1

    文章

    387

    瀏覽量

    14811
收藏 人收藏

    評論

    相關(guān)推薦

    Core3566 模組開箱

    發(fā)燒友的快遞一直都很快,很快就拿到了,很大的一箱子。
    的頭像 發(fā)表于 09-11 09:04 ?2589次閱讀
    <b class='flag-5'>幸</b><b class='flag-5'>狐</b> <b class='flag-5'>Core3566</b> <b class='flag-5'>模組</b>開箱

    Core3566模組試用體驗】Linux系統(tǒng)燒寫和體驗

    因為沒想到“ Core3566 模組”果然是個模組,除了一塊核心板+一個天線之外就沒了,所以只能在咸魚上找了塊據(jù)說“兼容”CM4的底板。
    的頭像 發(fā)表于 09-24 09:43 ?1611次閱讀
    【<b class='flag-5'>幸</b><b class='flag-5'>狐</b><b class='flag-5'>Core3566</b><b class='flag-5'>模組</b><b class='flag-5'>試用</b>體驗】Linux系統(tǒng)燒寫和體驗

    NCNN在Core3566模組上的部署和測試

    得益于四核A55的性能,NCNN跑起來應(yīng)該問題不大,本文主要介紹NCNN在Core3566 模組上的部署和測試。
    的頭像 發(fā)表于 10-17 08:25 ?1393次閱讀
    NCNN在<b class='flag-5'>Core3566</b><b class='flag-5'>模組</b>上的部署和測試

    【Raspberry Pi 3試用體驗】+Opencv+python的人臉識別

    ;)看一下效果:光線不好還是能認出來,說明opencv自帶的分類器算開源里面不錯的了~參考:Tigerboard開發(fā)板試用體驗 python+opencv的人臉識別 NanoPi2
    發(fā)表于 05-13 21:38

    【NanoPC-T4試用申請】基于opencv的人臉識別系統(tǒng)

    項目名稱:基于opencv的人臉識別系統(tǒng)試用計劃:申請理由:這個板子資源很豐富,能上android系統(tǒng)?,F(xiàn)階段opencv是個很火的課題,那這塊板子來
    發(fā)表于 09-12 16:48

    基于QT+OpenCV的人臉識別-米爾iMX8M Plus開發(fā)板的項目應(yīng)用

    本篇測評由電子工程世界的優(yōu)秀測評者“流行科技”提供。此次測試的開源項目,是基于QT+OpenCV的人臉識別打卡項目。本次體驗使用的是開源的代碼,此代碼本來是運行在WIN下的,為了測試稍微進行了修改
    發(fā)表于 05-17 17:43

    如何在OpenHarmony上使用SeetaFace2人識別庫?

    如何在OpenHarmony上使用SeetaFace2人識別庫?簡介相信大部分同學(xué)們都已了解或接觸過OpenAtom OpenHarmony(以下簡稱“OpenHarmony”)了,但你一定沒在
    發(fā)表于 08-22 17:46

    Core3566 模組試用體驗】 Core3566 模組開箱

    首先感謝LuckFox & 發(fā)燒友!給與的機會近距離體驗 Core3566模組。 一、第一印象 發(fā)燒友的快遞一直都很快,很快就拿到了,很大的一箱子。 打開盒子后,是
    發(fā)表于 09-09 18:46

    Core3566 模組試用體驗】Linux系統(tǒng)燒寫和體驗

    一、前傳 因為沒想到“ Core3566 模組”果然是個模組,除了一塊核心板+一個天線之外就沒了,所以只能在咸魚上找了塊據(jù)說“兼容”CM
    發(fā)表于 09-14 13:23

    Core3566 模組試用體驗】基于openCV識別

    的圖片是網(wǎng)上隨便下載的。 將圖片、識別分類器還有python上傳至 Core3566
    發(fā)表于 09-24 23:50

    Core3566 模組試用體驗】RK3566的CoreMark

    =1-lrt\"\\\\\" -DITERATIONS=0 -DPERFORMANCE_RUN=1 core_list_join.c core_main.c core
    發(fā)表于 10-06 23:48

    Core3566 模組試用體驗】開箱篇

    Core3566 模組核心板主控采用Rockchip RK3566四核處理器,集成雙核心架構(gòu)GPU以及高效能NPU,最高支持0.8T算
    發(fā)表于 10-10 15:25

    Core3566 模組試用體驗】EMMC燒寫鏡像

    Core3566 與樹莓派CM4兼容,從微雪電子買個底座,當國產(chǎn)樹莓了用,便宜又好用。 鏡像EMMC燒錄 : 1:下載RK驅(qū)動助手 DriverAssitant_v5.0.zip
    發(fā)表于 10-10 15:48

    Core3566 模組試用體驗】NCNN在Core3566 模組上的部署和測試

    得益于四核A55的性能,NCNN跑起來應(yīng)該問題不大,本文主要介紹NCNN在Core3566 模組上的部署和測試。 一、NCNN介紹 ncnn 是一個為手機端極致優(yōu)化的高性能神經(jīng)網(wǎng)絡(luò)前向計算框架
    發(fā)表于 10-10 20:45

    OpenCV編程:OpenCV3.X訓(xùn)練自己的分類器

    OpenCV的官方已經(jīng)提供了很多訓(xùn)練好的分類器文件,在OpenCV的安裝目錄下有,文件中提供了常見的 人臉檢測、眼睛檢測、檢測、行人檢測等,看XML文件的命名即可得知。
    的頭像 發(fā)表于 08-14 09:31 ?1833次閱讀
    <b class='flag-5'>OpenCV</b>編程:<b class='flag-5'>OpenCV</b>3.X訓(xùn)練自己的分類器