日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python+OpenCV人脸识别技术详解

發布時間:2024/5/7 python 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python+OpenCV人脸识别技术详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

總在科幻電影里看到人臉識別,現在我們也可以編程來實現啦。哈哈~~
OpenCV是Intel?開源計算機視覺庫。它由一系列 C 函數和少量 C++ 類構成,實現了圖像處理和計算機視覺方面的很多通用算法。

OpenCV 擁有包括 300 多個C函數的跨平臺的中、高層 API。它不依賴于其它的外部庫–盡管也可以使用某些外部庫。它還提供了Python、Ruby、MATLAB等語言的接口,實現了圖像處理和計算機視覺方

面的很多通用算法。

所以總體來說OpenCV的人臉檢測功能在是很不錯的。

效果圖如下:

下面我們就用python + OpenCV實現人臉識別。

開發運行環境:
Centos5.5
OpenCV
python2.7
PIL

下面上代碼:

#!/usr/bin/python # -*- coding: UTF-8 -*-# face_detect.py# Face Detection using OpenCV. Based on sample code from: # http://www.pythontab.com# Usage: python face_detect.pyimport sys, os #引入opencv庫中的相應組件 from opencv.cv import * from opencv.highgui import * #引入PIL庫 from PIL import Image, ImageDraw from math import sqrtdef detectObjects(image):#首先把圖片轉換為灰度模式,以便找到人臉位置grayscale = cvCreateImage(cvSize(image.width, image.height), 8, 1)cvCvtColor(image, grayscale, CV_BGR2GRAY)storage = cvCreateMemStorage(0)cvClearMemStorage(storage)cvEqualizeHist(grayscale, grayscale)cascade = cvLoadHaarClassifierCascade(\'/usr/share/opencv/haarcascades/haarcascade_frontalface_default.xml\',cvSize(1,1))faces = cvHaarDetectObjects(grayscale, cascade, storage, 1.1, 2,CV_HAAR_DO_CANNY_PRUNING, cvSize(20,20))result = []for f in faces:result.append((f.x, f.y, f.x+f.width, f.y+f.height))return resultdef grayscale(r, g, b):return int(r * .3 + g * .59 + b * .11)def process(infile, outfile):image = cvLoadImage(infile);if image:faces = detectObjects(image)im = Image.open(infile)if faces:draw = ImageDraw.Draw(im)for f in faces:draw.rectangle(f, outline=(255, 0, 255))im.save(outfile, "JPEG", quality=100)else:print "Error: cannot detect faces on %s" % infileif __name__ == "__main__":process(\'input.jpg\', \'output.jpg\')

代碼到此結束,上面的例子看不懂,沒關系,因為我們大量使用了庫里面的函數和方法,如果看不懂,我們可以去網上查或者使用手冊,只要借助這些看懂這段代碼就ok,重要的是掌握其中的人臉識別實現思想

總結

以上是生活随笔為你收集整理的Python+OpenCV人脸识别技术详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。