您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“OpenCV如何實(shí)現(xiàn)貓臉檢測”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“OpenCV如何實(shí)現(xiàn)貓臉檢測”這篇文章吧。
OpenCV是時(shí)下最流行的基于C++的開源計(jì)算機(jī)視覺庫,它功能豐富,函數(shù)眾多,從最基本的讀寫圖片,到簡單的圖像處理(比如降噪濾波、邊緣檢測、圖像變換、特征提取等),再到更加高級的行人檢測、人臉識別、文本識別等,盡皆包含。在OpenCV提供的函數(shù)的基礎(chǔ)上,我們可以很方便地開發(fā)自己的應(yīng)用,實(shí)現(xiàn)自己的算法??偟膩碚f,就是OpenCV非常強(qiáng)大。具體有多強(qiáng)大?那得用了才知道。
很多要做人臉識別,要用到SIFT特征的人都問過的一個(gè)問題是,為什么配置好opencv之后,卻找不到人臉識別的頭文件,找不到SIFT在哪?
這是因?yàn)镺penCV3.0之后,把一些還在最新的,但不是很穩(wěn)定的,還在測試階段的東西放在了contrib模塊里面。而且官方默認(rèn)不帶contrib模塊。不幸的是,我們最想用的人臉識別和SIFT特征都在contrib里面。
如果需要用的話,那就需要自己編譯了。opencv在Visual Studio上的配置和編譯contrib的方法可以參考我之前的博客。今天的內(nèi)容仍然是用Python語言,最近用Python用著比較順手。
顯然,跟眾多基于C++的庫一樣, OpenCV也是有Python接口的。Python下配置OpenCV可以用下面兩種方法:
官網(wǎng)下載并安裝OpenCV后,在目錄\opencv\build\python\2.7\x64
之下有一個(gè)cv2.pyd
文件,把它拷貝到python安裝目錄下的\Lib\site-packages
文件夾下面即可。需要注意的是版本要對應(yīng),比如這里就要對應(yīng)64位的Python2.7。而且目前官方自帶的只有Python2.7版本的包。如果想要其他版本怎么辦?
那就要說到一個(gè)神奇的網(wǎng)站了:Unofficial Windows Binaries for Python Extension Packages
,這里面包含了幾乎所有的能用到的Python庫的安裝包,比如我們需要的OpenCV,這里可以找到下面這么多版本,可以適應(yīng)不同的需求,還有編譯的contrib版本的,簡直是驚喜。
按照自己的環(huán)境下載相應(yīng)的版本,然后還是用pip安裝,命令如下:
pip install *.whl
請把星號換成對應(yīng)的名字。
我這里用的是Python3.6包含contrib的64位的包。
喵星人真的是要統(tǒng)治世界了。不然為什么OpenCV自帶的檢測器中除了人臉檢測、行人檢測這些意料之中就應(yīng)該存在的檢測器之外,還悄悄多出了貓臉檢測器呢。
今天我們就來試一下這個(gè)貓臉檢測到底 是什么樣的?基于OpenCV的貓臉檢測十分簡單。用Python的話只有區(qū)區(qū)20行代碼。其中20行代碼中發(fā)揮主要作用的只有一個(gè)函數(shù):
detectMultiScale()
此函數(shù)的作用是,在輸入圖像中檢測不同尺寸的對象,返回包含對象的矩形框。它接收的參數(shù):
1.image——輸入圖像
2.scaleFactor——表示每輪檢測圖像齒輪減少的比例
3.minNeighbors——指明對象要至少被檢測到幾次才能判定對象確實(shí)存在
4.minSize——檢測對象的最小尺寸
5.maxSize——檢測對象的最大尺寸
按照慣例,注釋齊全,無需多說。
運(yùn)行Python腳本后效果如下:
以上是“OpenCV如何實(shí)現(xiàn)貓臉檢測”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。