91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中怎么利用OpenCV實現貓臉檢測

發布時間:2021-06-25 17:37:06 來源:億速云 閱讀:139 作者:Leah 欄目:開發技術

這篇文章給大家介紹Python中怎么利用OpenCV實現貓臉檢測,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

開發工具

Python版本:3.6.4

相關模塊:

cv2模塊;

以及一些Python自帶的模塊。

環境搭建

安裝Python并添加到環境變量,pip安裝需要的相關模塊即可。

原理簡介

簡單地講一講Haar分類器,也就是Viola-Jones識別器。

詳細的原理說明可參考相關文件中的兩篇論文:

Rapid Object Detection using a Boosted Cascade of Simple Features;

Robust Real-Time Face Detection.

(1)Haar-like特征

Haar-like矩形特征是用于物體檢測的數字圖像特征,由兩個或者多個相鄰的黑白矩形組合而成,矩形的特征值是白色矩形的灰度值之和減去黑色矩形的灰度值之和。一般地,我們認為矩形特征對一些簡單的圖形結構(線段、邊緣)等較為敏感:

Python中怎么利用OpenCV實現貓臉檢測

具體到貓臉檢測而言,我們認為把這樣的矩形放到一個非貓臉區域后獲得的特征值與放到一個貓臉區域后獲得的特征值是不同的

利用上述基于特征的檢測算法,不僅能夠編碼特定區域的狀態,而且效率高于基于像素的檢測算法。

(2)積分圖

下面我們來考慮一下如何計算矩形的特征值。對圖像中的任意一點A(x, y),定義該點的積分圖為其左上角的所有像素值之和,即:

Python中怎么利用OpenCV實現貓臉檢測

因此,要計算矩形模板的特征值,也就是計算兩個區域之間的像素和之差,只需要用特征區域端點的積分圖來進行簡單的加減運算就可以了:

Python中怎么利用OpenCV實現貓臉檢測

(3)Haar分類器

Haar分類器是一個監督學習分類器,要進行目標檢測,首先要對圖像進行直方圖均衡化和歸一化處理,然后檢測里面是否包含要檢測的物體。

流程框架圖為(Haar分類器本質上由Haar特征提取器、離散強分類器以及強分類級聯器組成):

Python中怎么利用OpenCV實現貓臉檢測

Haar分類器使用Adaboost算法,但是把它組織為了篩選式的級聯分類器,在任意一級計算中,**一旦獲得輸入內容不在檢測類中的結論,便終止計算,只有通過所有級別的分類器,才可認為檢測到了目標物體,**以此來提高檢測效率。

關于AdaBoost算法,我就不展開介紹了,有興趣的同學可以自己查找相關資料進行學習。以后有時間我再對其進行詳細的介紹。

(4)適用范圍

適用于“基本剛性”的物體檢測,如臉、汽車、人體和自行車等等。

(5)總結

Viola-Jones目標檢測框架的核心思想是通過滑動窗口掃描圖像(多尺度的掃描),然后將每個窗口的Haar特征值輸入到篩選式的級聯分類器中來判斷該窗口內是否含有目標物體以實現目標檢測。

具體實現

OpenCV中內置了基于Viola-Jones目標檢測框架的Haar分類器,并提供了貓臉檢測預訓練好的模型。因此實現起來十分簡單。

具體實現過程詳見相關文件中的源代碼。

效果演示

使用方式:

修改源代碼中的圖片名為自己需要檢測的圖片:

Python中怎么利用OpenCV實現貓臉檢測

在cmd窗口運行DetectCatFace.py文件即可。

效果:

原圖1:

Python中怎么利用OpenCV實現貓臉檢測

檢測結果1:

Python中怎么利用OpenCV實現貓臉檢測

原圖2:

Python中怎么利用OpenCV實現貓臉檢測

檢測結果2(并不能很好地區分狗狗和貓咪):

Python中怎么利用OpenCV實現貓臉檢測

關于Python中怎么利用OpenCV實現貓臉檢測就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

霸州市| 眉山市| 西贡区| 静宁县| 呼和浩特市| 合水县| 孝感市| 乌兰浩特市| 钟山县| 菏泽市| 新龙县| 宁南县| 卓尼县| 衡山县| 新河县| 潮州市| 望江县| 承德县| 鹤山市| 彝良县| 平定县| 平江县| 那坡县| 鹿泉市| 藁城市| 铁岭县| 托克托县| 齐齐哈尔市| 葵青区| 三都| 嘉峪关市| 永宁县| 连平县| 新安县| 万盛区| 新泰市| 芜湖县| 高台县| 安徽省| 奎屯市| 南通市|