English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
This article shares the specific code for Python face recognition for everyone's reference, the specific content is as follows
1.Using the OpenCV library
sudo apt-get install libopencv-* sudo apt-get install python-opencv sudo apt-get install python-numpy
2 .Python implementation
import os import os from PIL import Image,ImageDraw import cv def detect_object(image): grayscale = cv.CreateImage((image.width,image.height),8,1)#create an empty grayscale image cv.CvtColor(image,grayscale,cv.CV_BGR2GRAY) cascade=cv.Load("/usr/share/opencv/haarcascades/haarcascade_frontalface_alt_tree.xml")#stores feature value library, there are many libraries available in this directory rect=cv.HaarDetectObjects(grayscale,cascade,cv.CreateMemStorage(),1.1,2,cv.CV_HAAR_DO_CANNY_PRUNING,(20,20)) result=[]#mark position for r in rect: result.append((r[0][0],r[0][1],r[0][0]+r[0][2],r[0][1]+r[0][3)) return result def process(infile): image = cv.LoadImage(infile) if image: faces = detect_object(image) im = Image.open(infile) path = os.path.abspath(infile) save_path = os.path.splitext(path)[0]+"_face" try: os.mkdir(save_path) except: pass if faces: draw = ImageDraw.Draw(im) count=0 for f in faces: count+=1 draw.rectangle(f,outline=(255,0,0)) a=im.crop(f) file_name=os.path.join(save_path,str(count)+".jpg" a.save(file_name) drow_save_path = os.path.join(save_path,"out.jpg") im.save(drow_save_path,"JPEG",quality=80) else: print "Error: cannot detect faces on %s" % infile if __name__ == "__main__": process("test3. jpg"
3. Effect Comparison
4. References
python uses opencv for face recognition
Python+Principle and Example Explanation of OpenCV Face Detection
python using OpenCV2Face Detection Implementation
That's all for this article. Hope it will be helpful to everyone's learning, and also hope everyone will support the Yelling Tutorial more.
Declaration: The content of this article is from the network, and the copyright belongs to the original author. The content is contributed and uploaded by Internet users spontaneously. This website does not own the copyright, has not been manually edited, and does not assume relevant legal liability. If you find any content suspected of copyright infringement, please send an email to: notice#oldtoolbag.com (When reporting, please replace # with @) for complaints, and provide relevant evidence. Once verified, this site will immediately delete the infringing content.