首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

基于OpenCV实现简单人脸面具、眼镜、胡须、鼻子特效(详细步骤 + 源码)

导读 本文给大家分享一个基于OpenCV实现简单人脸面具、眼镜、胡须、鼻子特效的实例,并附实现步骤和源码。 背景介绍 OpenCV传统人脸检测是使用Haar特征的级联分类器实现的。...OpenCV安装目录中提供了多个已经训练好的Haar分类器模型文件,包含:人脸检测、人眼检测、鼻子检测和身体检测等,如下图所示: 比如使用haarcascade_frontalface_alt.xml.../pics/5.jpg') face_detect(img) 实现步骤 【1】准备面具图片并处理成透明背景 【2】人脸检测并确定人脸ROI 【3】将面具图片缩放到人脸ROI大小,并对Alpha...通道阈值提取分离面具部分 Mat faceMask = imread("....(channels[1]); bgrImg.push_back(channels[2]); merge(bgrImg, faceMask); waitKey(); 【4】用Mat的copyTo方法将面具贴到人脸部分

2.4K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    使用Azure人脸API对图片进行人脸识别

    人脸识别是人工智能机器学习比较成熟的一个领域。人脸识别已经应用到了很多生产场景。比如生物认证,人脸考勤,人流监控等场景。对于很多中小功能由于技术门槛问题很难自己实现人脸识别的算法。...Azure人脸API对人脸识别机器学习算法进行封装提供REST API跟SDK方便用户进行自定义开发。...先让我们选择一张结衣的图片试试: ? 看看我们的结衣微笑率97.9%。 再选一张杰伦的图片试试: ? 嗨,杰伦就是不喜欢笑,微笑率0% 。。。...总结 通过简单的一个wpf的应用我们演示了如果使用Azure人脸API进行图片中的人脸检测,真的非常方便,识别代码只有1行而已。...Azure人脸API除了能对图片中的人脸进行检测,还可以对多个人脸进行比对,检测是否是同一个人,这样就可以实现人脸考勤等功能了,这个下次再说吧。

    2K20

    图片人脸检测——OpenCV版(二)

    图片人脸检测 人脸检测使用到的技术是OpenCV,上一节已经介绍了OpenCV的环境安装,点击查看....功能展示 识别一种图上的所有人的脸,并且标出人脸的位置,画出人眼以及嘴的位置,展示效果图如下:  ? 多张脸识别效果图:  ?...技术实现思路 图片转换成灰色(去除色彩干扰,让图片识别更准确) 图片上画矩形 使用训练分类器查找人脸 具体实现代码 图片转换成灰色 使用OpenCV的cvtColor()转换图片颜色,代码如下: import...在使用OpenCV的人脸检测之前,需要一个人脸训练模型,格式是xml的,我们这里使用OpenCV提供好的人脸分类模型xml,下载地址:https://github.com/opencv/opencv/...for faceRect in faceRects: # 单独框出每一张人脸 x, y, w, h = faceRect # 框出人脸 cv2

    79730

    图片人脸检测——OpenCV版(二)

    图片人脸检测 人脸检测使用到的技术是OpenCV,上一节已经介绍了OpenCV的环境安装,点击查看....功能展示 识别一种图上的所有人的脸,并且标出人脸的位置,画出人眼以及嘴的位置,展示效果图如下:  ? 多张脸识别效果图:  ?...技术实现思路 图片转换成灰色(去除色彩干扰,让图片识别更准确) 图片上画矩形 使用训练分类器查找人脸 具体实现代码 图片转换成灰色 使用OpenCV的cvtColor()转换图片颜色,代码如下: import...在使用OpenCV的人脸检测之前,需要一个人脸训练模型,格式是xml的,我们这里使用OpenCV提供好的人脸分类模型xml,下载地址:https://github.com/opencv/opencv/...for faceRect in faceRects: # 单独框出每一张人脸 x, y, w, h = faceRect # 框出人脸 cv2

    1.1K100

    革新人脸图片智能修复

    革新人脸图片智能修复应用 应用界面设计,该应用程序的界面设计简洁而直观,采用Qt Designer构建,确保了跨平台的兼容性和高效的用户体验。...项目部署 解压之后点开启动.bat即可运行、、 提示 项目文件夹需要放在全部为英文的路径 之后上传完目标文件夹以及保存的文件目标文件夹之后,点击开始处理 即可处理图片 注意 权重环境等因为太大所以放到百度云盘...inference_codeformer.py -w 0.7 --input_path [image folder]|[image path] 注意 以上是模型训练部分 革新人脸图片智能修复应用 Demo...这段XML代码定义了一个使用Qt Designer设计的图形用户界面(GUI),用于一个专注于人脸图片高清修复的应用程序。...name="Form"> 人脸图片高清修复

    1100

    人脸识别案例:接口返回“图片中没有人脸

    某些特殊情况,会导致接口返回“图片中没有人脸”的返回值,很多用户会疑惑,为什么人眼视觉的确看到图片中是存在人脸的,而产品识别不出来呢?...低于MinFaceSize值的人脸不会被检测”。因此我们知道,如果图片中的真实人脸大小小于了设置的MinFaceSize,会导致该人脸被过滤,从而返回“图片中没有人脸”。...2.图片本身问题 众所周知,现在任何人脸识别产品都无法准确识别到所有人脸图片,一方面是模型训练数据的有限性,另一方是针对待识别图片相对严苛的要求。...如果下列某方面被命中,可能导致无法识别人脸: (1)图片质量较差。包括图片是否清晰,图片是否过曝、图片是否过暗、图片是否存在亮点、图片是否存在明显色偏(eg:整体偏绿)等。 (2)人脸质量较差。...本参数的作用为,当图片中的人脸被旋转且图片没有exif信息时,如果不开启图片旋转识别支持则无法正确检测、识别图片中的人脸

    5.9K183

    用高仿面具试验人脸识别系统,微信、支付宝、机场安检统统被骗

    人工智能公司Kneron的研究人员周四表示,他们能够使用一张高仿真的面具来骗过某些面部识别系统。 ?...这些系统类似于在机场看到的系统,使用人脸识别而不是密码或指纹来验证用户的身份。从理论上讲,这样的面具可以使欺诈者利用他人的脸部信息和银行帐户去购物。...这种欺骗之所以有效,是因为面具已经包含了所有面部识别系统所需要的面部特征。但Kneron承认,这种欺诈行为不太可能广泛传播,因为实验中使用的面具是从一家军用特种口罩制造商那里获得的。...在安全检查站的测试是在安检人员监督下进行的,这表明只要有人在场注意面具,面部识别就不会完全不安全。 ? Kneron通过实验了解了该技术的局限性,同时开发了自己的面部识别技术。...人脸识别和人工智能的可靠性已受到质疑。计算机科学家在一项类似于Kneron的实验中,最近使用Facebook的图片欺骗了面部传感器。

    1.4K40

    Python学习案例之图片人脸检测识别

    前言 随着科技的发展,人脸识别技术在许多领域得到的非常广泛的应用,手机支付、银行身份验证、手机人脸解锁等等。...识别 废话少说,这里我们使用 opencv 中自带了 haar人脸特征分类器,利用训练好的 haar 特征的 xml 文件,在图片上检测出人脸的坐标,利用这个坐标,我们可以将人脸区域剪切保存,也可以在原图上将人脸框出...人脸检测分类器对比: 级联分类器的类型 XML文件名 人脸检测器(默认) haarcascade_frontalface_default.xml 人脸检测器(快速的Haar) haarcascade_frontalface_alt2....xml 人脸检测器(Tree) haarcascade_frontalface_alt_tree.xml 人脸检测器(Haar_1) haarcascade_frontalface_alt.xml...小结 开源的人脸检测分类器对于标准的人脸识别足够了,要想精确识别比如,侧脸、模糊、光照、遮挡的人脸,只能通过深度机器学习进一步优化识别精度和速度。

    83210

    CNN训练与测试人脸图片分类(TensorFlow)

    实验需要判断人脸是否戴了眼镜,所以参考网上的文章弄了个简单的CNN图片分类器来做戴眼镜与否的判定。...环境如下: macOS 10.13.2 Python 2.7 TensorFlow 1.2.0 数据集: 要训练我们当然需要训练集,这里我采用的是CelebA的人脸图像数据集,从中筛选出戴了眼镜的人脸和没戴眼镜的人脸分别一千多张也就够了...,如何筛选CelebA人脸数据集可以参考我这篇博客:处理筛选CelebA人脸数据集 将两个分别装有戴眼镜与否的人脸图片的文件夹放到我们工程目录下,然后开始写代码。...代码将80%的图片作为训练集,剩下20%的图片作为测试集,来查看训练效果。 其余部分代码中的注释讲的很清楚了,现在可以直接在终端运行这个python文件开始训练了。...,i+1,"face is belong to:"+face_dict[output[i]]) 这里我们放入五张人脸图片作为测试数据,注意,这里的测试与上文训练代码中的测试不是一个意思,这里是真正用来做分类

    86030
    领券