當前位置:星座運勢大全官網 - 八字算命 - 人臉識別為什麽用python開發?

人臉識別為什麽用python開發?

可以用OpenCV,壹般場合OpenCV的人臉檢測功能還是不錯的。Ubuntu正好提供了python-opencv包,可以用來輕松實現人臉檢測的代碼。

Python-opencv應該在編寫代碼之前安裝:

#!/usr/bin/python

#?-*-?編碼:?UTF八號?-*-

#?face_detect.py

#?臉?檢測?使用?OpenCV。?基礎?開?樣本?代碼?出發地:

#?/m76db1d6b

#?用法:?python?face_detect.py?& ltimage _ file & gt

進口?sys,?操作系統(Operating System)

從哪裏?opencv.cv?進口?*

從哪裏?opencv.highgui?進口?*

從哪裏?PIL?進口?形象,?ImageDraw

從哪裏?數學?進口?平方根計算

def?檢測對象(圖像):

" " "皈依者?安?形象?去哪?灰度?然後呢。指紋?那個?地點?的?有嗎?面孔?找到了“”

灰度?=?cvCreateImage(cvSize(image . width,?image.height),?8,?1)

cvCvtColor(圖片,?灰度,?CV_BGR2GRAY)

存儲?=?cvCreateMemStorage(0)

cvClearMemStorage(存儲)

cvEqualizeHist(灰度,?灰度)

級聯?=?cvLoadHaarClassifierCascade(

/usr/share/opencv/Haar cascades/Haar cascade _ frontal face _ default . XML ',

cvSize(1,1))

面孔?=?cvHaarDetectObjects(灰度,級聯,?存儲,?1.1,?2,

CV_HAAR_DO_CANNY_PRUNING,?cvSize(20,20))

結果?=?[]

為了什麽?f?在?面孔:

result.append((f.x,?飛燕?f.x+f.width,?f.y+f.height))

回歸?結果

def?灰度(r,g,?b):

回歸?int(r?*?.3?+?g?*?.59?+?b?*?.11)

def?過程(infile,輸出文件):

形象?=?cvLoadImage(infile);

如果?圖片:

面孔?=?檢測對象(圖像)

im?=?Image.open(infile)

如果?面孔:

畫畫?=?ImageDraw。繪制(im)

為了什麽?f?在?面孔:

draw.rectangle(f,大綱=(255,?0,?255))

im.save(outfile,“JPEG”,?質量=100)

否則:

打印?“錯誤:?不能?檢測?面孔?開?%s "?%?infile

如果?__name__?==?" __main__ "

process('input.jpg ',?output . jpg’)