python 实现性别识别

使用keras实现性别识别,模型数据使用的是oarriaga/face_classification的模型

实现效果

准备工作

在开始之前先要安装keras和tensorflow

安装keras使用命令:pip3 install keras

安装tensorflow使用命令:pip3 install tensorflow

编码部分

们使用OpenCV先识别到人脸,然后在通过keras识别性别,具体代码如下

#coding=utf-8
#性别识别

import cv2
from keras.models import load_model
import numpy as np
import ChineseText

img = cv2.imread("img/gather.png")
face_classifier = cv2.CascadeClassifier(
  "C:\Python36\Lib\site-packages\opencv-master\data\haarcascades\haarcascade_frontalface_default.xml"
)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
faces = face_classifier.detectMultiScale(
  gray, scaleFactor=1.2, minNeighbors=3, minSize=(140, 140))

gender_classifier = load_model(
  "classifier/gender_models/simple_CNN.81-0.96.hdf5")
gender_labels = {0: '女', 1: '男'}
color = (255, 255, 255)

for (x, y, w, h) in faces:
  face = img[(y - 60):(y + h + 60), (x - 30):(x + w + 30)]
  face = cv2.resize(face, (48, 48))
  face = np.expand_dims(face, 0)
  face = face / 255.0
  gender_label_arg = np.argmax(gender_classifier.predict(face))
  gender = gender_labels[gender_label_arg]
  cv2.rectangle(img, (x, y), (x + h, y + w), color, 2)
  img = ChineseText.cv2ImgAddText(img, gender, x + h, y, color, 30)

cv2.imshow("Image", img)
cv2.waitKey(0)
cv2.destroyAllWindows()

以上就是python 实现性别识别的详细内容,更多关于python 性别识别的资料请关注我们其它相关文章!

时间: 2020-11-21

Python 使用Opencv实现目标检测与识别的示例代码

在上章节讲述到图像特征检测与匹配 ,本章节是讲述目标检测与识别.后者是在前者的基础上进一步完善. 在本章中,我们使用HOG算法,HOG和SIFT.SURF同属一种类型的描述符.功能代码如下: import cv2 def is_inside(o, i): ox, oy, ow, oh = o ix, iy, iw, ih = i # 如果符合条件,返回True,否则返回False return ox > ix and oy > iy and ox + ow < ix + iw and o

python实现图片,视频人脸识别(dlib版)

图片人脸检测 #coding=utf-8 import cv2 import dlib path = "img/meinv.png" img = cv2.imread(path) gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) #人脸分类器 detector = dlib.get_frontal_face_detector() # 获取人脸检测器 predictor = dlib.shape_predictor( "C:\\Pytho

如何利用Python识别图片中的文字

一.前言 不知道大家有没有遇到过这样的问题,就是在某个软件或者某个网页里面有一篇文章,你非常喜欢,但是不能复制.或者像百度文档一样,只能复制一部分,这个时候我们就会选择截图保存.但是当我们想用到里面的文字时,还是要一个字一个字打出来.那么我们能不能直接识别图片中的文字呢?答案是肯定的. 二.Tesseract 文字识别是ORC的一部分内容,ORC的意思是光学字符识别,通俗讲就是文字识别.Tesseract是一个用于文字识别的工具,我们结合Python使用可以很快的实现文字识别.但是在此之前我们需

python语音识别指南终极版(有这一篇足矣)

[导读]亚马逊的 Alexa 的巨大成功已经证明:在不远的将来,实现一定程度上的语音支持将成为日常科技的基本要求.整合了语音识别的 Python 程序提供了其他技术无法比拟的交互性和可访问性.最重要的是,在 Python 程序中实现语音识别非常简单.阅读本指南,你就将会了解.你将学到: •语音识别的工作原理: •PyPI 支持哪些软件包; •如何安装和使用 SpeechRecognition 软件包--一个功能全面且易于使用的 Python 语音识别库. 语言识别工作原理概述 语音识别源于 20

python 通过手机号识别出对应的微信性别(实例代码)

python 通过手机号识别出对应的微信性别,具体代码如下所述: def getGender(self,tel): self.d(resourceId="com.tencent.mm:id/kh").clear_text() self.d(resourceId="com.tencent.mm:id/kh").set_text(tel) self.d(resourceId="com.tencent.mm:id/mf").click() time.s

python识别验证码的思路及解决方案

1.介绍 在爬虫中经常会遇到验证码识别的问题,现在的验证码大多分计算验证码.滑块验证码.识图验证码.语音验证码等四种.本文就是识图验证码,识别的是简单的验证码,要想让识别率更高,识别的更加准确就需要花很多的精力去训练自己的字体库. 识别验证码通常是这几个步骤: (1)灰度处理 (2)二值化 (3)去除边框(如果有的话) (4)降噪 (5)切割字符或者倾斜度矫正 (6)训练字体库 (7)识别 这6个步骤中前三个步骤是基本的,4或者5可根据实际情况选择是否需要. 经常用的库有pytesseract(

Python+Opencv身份证号码区域提取及识别实现

前端时间智能信息处理实训,我选择的课题为身份证号码识别,对中华人民共和国公民身份证进行识别,提取并识别其中的身份证号码,将身份证号码识别为字符串的形式输出.现在实训结束了将代码发布出来供大家参考,识别的方式并不复杂,并加了一些注释,如果有什么问题可共同讨论.最后重要的事情说三遍:请勿直接抄袭,请勿直接抄袭,请勿直接抄袭!尤其是我的学弟学妹们,还是要自己做的,小心直接拿我的用被老师发现了挨批^_^. 实训环境:CentOS-7.5.1804 + Python-3.6.6 + Opencv-3.4.

python实现图像,视频人脸识别(opencv版)

图片人脸识别 import cv2 filepath = "img/xingye-1.png" img = cv2.imread(filepath) # 读取图片 gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 转换灰色 # OpenCV人脸识别分类器 classifier = cv2.CascadeClassifier( "C:\Python36\Lib\site-packages\opencv-master\data\haar

python3实现语音转文字(语音识别)和文字转语音(语音合成)

话不多说,直接上代码运行截图  1.语音合成 -------> 执行: 结果: 输入要转换的内容,程序直接帮你把转换好的mp3文件输出(因为下一步–语音识别–需要.pcm格式的文件,程序自动执行格式转换,同时生成17k.pcm文件,暂时不用管,(你也可以通过修改默认参数改变文件输出的位置,名称及是否进行pcm转换 <------- 2.语音处理 ----> 方便起见, 我们直接运行语音处理程序,识别我们上一步的17k.pcm文件: What?识别居然出现了点错误,不过不用担心,博主已经调

Python实现手势识别

这是借鉴了github上的一个源程序,参考源:https://github.com/lzane/Fingers-Detection-using-OpenCV-and-Python 自己在这个基础上做了一点修改补充后,可以实现手指指尖的检测,并且可以在windows系统下通过判断手指数目,来模拟键盘操作.下面直接上源程序,并做了详细注释,方便理解. 环境:python3.6+opencv3.4.0 代码如下: import cv2 import numpy as np import copy im

python实现手势识别的示例(入门)

使用open-cv实现简单的手势识别.刚刚接触python不久,看到了很多有意思的项目,尤其时关于计算机视觉的.网上搜到了一些关于手势处理的实验,我在这儿简单的实现一下(PS:和那些大佬比起来真的是差远了,毕竟刚接触不久),主要运用的知识就是opencv,python基本语法,图像处理基础知识. 最终实现结果: 获取视频(摄像头) 这部分没啥说的,就是获取摄像头. cap = cv2.VideoCapture("C:/Users/lenovo/Videos/1.mp4")#读取文件 #

OpenCV+python手势识别框架和实例讲解

基于OpenCV2.4.8和 python 2.7实现简单的手势识别. 以下为基本步骤 1.去除背景,提取手的轮廓 2. RGB->YUV,同时计算直方图 3.进行形态学滤波,提取感兴趣的区域 4.找到二值化的图像轮廓 5.找到最大的手型轮廓 6.找到手型轮廓的凸包 7.标记手指和手掌 8.把提取的特征点和手势字典中的进行比对,然后判断手势和形状 提取手的轮廓 cv2.findContours() 找到最大凸包cv2.convexHull(),然后找到手掌和手指的相对位置,定位手型的轮廓和关键点

python+openCV调用摄像头拍摄和处理图片的实现

在深度学习过程中想做手势识别相关应用,需要大量采集手势图片进行训练,作为一个懒人当然希望飞快的连续采集图片并且采集到的图片就已经被处理成统一格式的啦..于是使用python+openCV调用摄像头,在采集图片的同时顺便处理成想要的格式. 详细代码如下: import cv2 import os print("=============================================") print("= 热键(请在摄像头的窗口使用): =") pri

opencv实现静态手势识别 opencv实现剪刀石头布游戏

本文实例为大家分享了opencv实现静态手势识别的具体代码,供大家参考,具体内容如下 要想运行该代码,请确保安装了:python 2.7,opencv 2.4.9 效果如下: 算法如下: 把图片先进行处理,处理过程: 1.用膨胀图像与腐蚀图像相减的方法获得轮廓. 2.用二值化获得图像 3. 反色 经过如上的处理之后,图片为: 这之后就简单了,设计一个办法把三种图像区分开来即可. 代码如下: # -*- coding: cp936 -*- import cv2 import numpy impor

Face++ API实现手势识别系统设计

通过普通摄像头拍摄出的照片来进行识别是存在很大的困难的,但是有困难才能找到更好的方法去解决.在百度上大致找了一下手语识别的案例,很少.API只是看到了Face++发布的手势识别,在我写文章的时候又看到了百度发布的手势识别API,之后会尝试去进行使用. 这次使用的是Face++的API,Face++的API是在之前发现的,功能上的话还是比较强大的,但是没有离线版本,需要将数据进行上传,然后对JSON进行解析得到结果. 这是官网给出的一个Demo,识别率挺不错的,最后给出的是一个在20种手势上的分布

TensorFlow2.X结合OpenCV 实现手势识别功能

使用Tensorflow 构建卷积神经网络,训练手势识别模型,使用opencv DNN 模块加载模型实时手势识别 效果如下: 先显示下部分数据集图片(0到9的表示,感觉很怪) 构建模型进行训练 数据集地址 import tensorflow as tf from tensorflow import keras from tensorflow.keras import datasets,layers,optimizers,Sequential,metrics from tensorflow.pyt

用Python登录好友QQ空间点赞的示例代码

记得之前跟我女票说过,说要帮她空间点赞,点到999就不点了.刚开始还能天天记得,但是后来事情一多,就难免会忘记,前两天点赞的时候忽然觉得这样好枯燥啊,正好也在学Python,就在想能不能有什么方法能自动点赞. 以前学C借助win32API也干过操作其他应用程序的事,想想可行性还是挺高的,于是就去百度了一下.发现还真有类似的,说干就干,正好也是周末,那就直接熬夜"撸"起来吧.先上代码: def QQZan(qq): browser = webdriver.Chrome() browser

Python通过命令开启http.server服务器的方法

前言 如果你急需一个简单的Web Server,但你又不想去下载并安装那些复杂的HTTP服务程序,比如:Apache,ISS等.那么, Python 可能帮助你.使用Python可以完成一个简单的内建 HTTP 服务器.于是,你可以把你的目录和文件都以HTTP的方式展示出来.佻只需要干一件事情,那就是安装一个Python. 而对于安装python不熟悉的朋友们可以参考这两篇文章: win10环境下python3.5 Linux 中安装最新的 Python 3.6 版本 安装好后就可以开始本文的正

Python实现一个简单的验证码程序

老师讲完random函数,自己写的,虽然和老师示例的不那么美观,智能,但是也自己想出来的,所以记录一下,代码就需要自己不断的自己练习,实战,才能提高啊!不然就像我们这些大部分靠自学的人,何时能学会.还有就是,这次听老师的,把自己的代码添加注释,所以这次把很简单的代码都写上了注释,而且很大白话,不管有没有接触过python的,我相信仔细看了,肯定能看懂.如果看完,再自己尝试着默写出来,那就是更好到了,好了进入正题: 自己写的: __Author__ = "Zhang Peng" impo