国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python+OpenCV人臉檢測原理及示例詳解

2020-02-16 11:13:49
字體:
來源:轉載
供稿:網友

關于opencv

OpenCV 是 Intel 開源計算機視覺庫 (Computer Version) 。它由一系列 C 函數和少量 C++ 類構成,實現了圖像處理和計算機視覺方面的很多通用算法。

OpenCV 擁有包括 300 多個 C 函數的跨平臺的中、高層 API 。它不依賴于其它的外部庫 —— 盡管也可以使用某些外部庫。 OpenCV 對非商業應用和商業應用都是免費 的。同時 OpenCV 提供了對硬件的訪問,可以直接訪問攝像頭,并且 opencv 還提供了一個簡單的 GUI(graphics user interface) 系統 :highgui 。 我們就通過 OpenCV 提供的一些方法來構造出這個人臉檢測(face detection) 程序來。

opencv的python包裝 

OpenCV 本身是有 C/C++ 編寫的,如果要在其他語言中使用,我們可以通過對其動態鏈接庫文件進行包裝即可,幸運的是, Python 下有很多個這樣的包裝,本文中使用的是 Cvtypes 。 

事實上,在 Python 中很多的包都是來自第三方的,比如 PIL(Python Image Library) 即為 C 語言實現的一個圖形處理包,被包裝到了 Python 中,這些包裝可以讓你像使用 Python 的內建函數一樣的使用這些 API 。 

人臉檢測原理

人臉檢測屬于目標檢測(object detection) 的一部分,主要涉及兩個方面

1.先對要檢測的目標對象進行概率統計,從而知道待檢測對象的一些特征,建立起目標檢測模型。
2.用得到的模型來匹配輸入的圖像,如果有匹配則輸出匹配的區域,否則什么也不做。 

計算機視覺

計算機的視覺系統,跟人的眼睛是大不相同的,但是其中也有類似之處。人眼之能夠看到物體,是通過物體上反射出來的光線刺激人眼的感光細胞,然后視覺神經在大腦中形成物體的像。計算機通過攝像頭看到的東西要簡單的多,簡單來說,就是一堆由數字組成的矩陣。這些數字表明了物體發出的光的強弱,攝像頭的光敏元件將光信號轉化成數字信號,將其量化為矩陣。

如何從這些數字中得出:"這是一個人臉"的結論,是一個比較復雜的事情。物理世界是彩色的,一般來說,計算機中的彩色圖片都是由若干個色彩通道累積出來的,比如RGB模式的圖片,有紅色通道(Red),綠色通道(Green)和藍色通道(Blue),這三個通道都是灰度圖,比如一個點由8位來表示,則一個通道可以表示2^8=256個灰度。那樣三個通道進行疊加以后可以表3*8=24位種色彩,也就是我們常說的24位真彩。

對這樣的圖片做處理,無疑是一件很復雜的事,所以有必要先將彩色圖轉為灰度圖,那樣可以減少數據量(比如RGB模式,可以減少到原圖片的1/3),同時可以去掉一些噪聲信號。先將圖片轉化為灰度圖,然后將這個灰度圖的對比度增高,這樣可以使得圖片本來暗的地方更暗,亮的地方更亮一些。這樣處理以后,圖片就更容易被算法設別出來了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 图木舒克市| 汉阴县| 湾仔区| 论坛| 公安县| 耿马| 盐城市| 姚安县| 台南市| 民权县| 永丰县| 双城市| 凌海市| 吴堡县| 射洪县| 洛南县| 杭州市| 略阳县| 泗水县| 武乡县| 镇坪县| 轮台县| 札达县| 蒲江县| 印江| 霍山县| 惠东县| 会东县| 柯坪县| 霸州市| 孙吴县| 土默特右旗| 从江县| 临沧市| 桂平市| 时尚| 仁化县| 长葛市| 马公市| 巴林左旗| 类乌齐县|