(Python)实现对非人脸图片的清洗

代码可以正确运行,代码注释也已经添加

有些项目的需要,需要对图片的人脸进行一个筛选,清除掉如下的非人脸图片:
在这里插入图片描述
这里我们的要求就是清洗掉非人脸的照片,方法可以采用肉眼观察,但是在数据量大时既费时又费力,所以这里我们程序来进行筛选,通过调用 opencv 的人脸检测算法来清洗掉非人脸的照片。

该检测算法主要是利用级联分类器 CascadeClassifier,这里我们主要使用它的 Haar 特征分类器为基础的对象检测技术,来区分人脸和非人脸。

Haar 矩形特征对一些简单的图形结构,如线段、边缘比较敏感。如果把这样的矩形放在一个非人脸区域,那么计算出的特征值应该和人脸特征值不一样,所以可以用这些矩形把人脸特征量化,从而区分人脸和非人脸。

import os
import sys
import cv2

# 使用 cv2 中的级联分类器 CascadeClassifier
# 这里用 Haar特征分类器为基础的对象检测技术,用来区分人脸和非人脸
cascade_path = 'haarcascade_frontalface_default.xml'
cascade 

猜你喜欢

转载自blog.csdn.net/nanhuaibeian/article/details/106732257