博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
从图像中检测人脸,并将人脸提取出来
阅读量:6081 次
发布时间:2019-06-20

本文共 850 字,大约阅读时间需要 2 分钟。

hot3.png

# -*- coding: cp936 -*-import cv2.cv as cvimg = cv.LoadImage("friend1.jpg");image_size = cv.GetSize(img)#获取图片的大小greyscale = cv.CreateImage(image_size, 8, 1)#建立一个相同大小的灰度图像cv.CvtColor(img, greyscale, cv.CV_BGR2GRAY)#将获取的彩色图像,转换成灰度图像storage = cv.CreateMemStorage(0)#创建一个内存空间,人脸检测是要利用,具体作用不清楚     cv.EqualizeHist(greyscale, greyscale)#将灰度图像直方图均衡化,貌似可以使灰度图像信息量减少,加快检测速度# detect objectscascade = cv.Load('haarcascade_frontalface_alt2.xml')#加载Intel公司的训练库#检测图片中的人脸,并返回一个包含了人脸信息的对象facesfaces = cv.HaarDetectObjects(greyscale, cascade, storage, 1.2, 2,                                     cv.CV_HAAR_DO_CANNY_PRUNING,                                     (50, 50))#获得人脸所在位置的数据j=0 #记录个数for (x,y,w,h),n in faces:    j+=1    cv.SetImageROI(img,(x,y,w,h))#获取头像的区域    cv.SaveImage("face"+str(j)+".jpg",img);#保存下来

效果如下。

       

转载于:https://my.oschina.net/u/923087/blog/279140

你可能感兴趣的文章
批量文件重命名工具
查看>>
简单说一下UWP中的JumpList
查看>>
unity将object[]或者string对象转换成枚举enum
查看>>
PostgreSQL 10.1 手册_部分 II. SQL 语言_第 9 章 函数和操作符_9.19. 范围函数和操作符...
查看>>
以太坊系列之六: p2p模块--以太坊源码学习
查看>>
使用scikit-learn解决文本多分类问题(附python演练)
查看>>
2018 年最值得关注的 JavaScript 趋势
查看>>
什么是区块链?超级账本 Brian Behlendorf 从五个方面教你认识
查看>>
Linux中的帮助功能
查看>>
针对Android的Pegasus恶意软件版本和针对iOS的有什么不同?
查看>>
使用MindFusion JavaScript组件与WordPress Elementor插件
查看>>
Android设计应用图标不用愁---Asset Studio Integration来帮你 .
查看>>
Linux 下DNS配置管理
查看>>
收集的Haskell资源
查看>>
Hyper-V 2016 配置管理系列(Part3)
查看>>
IEEE模版写作干货
查看>>
Linux日志管理与分类
查看>>
使用Maven搭建SpringMVC项目
查看>>
Nginx学习之三:对应平台的Nginx下载和安装
查看>>
IPv4地址
查看>>