人体肤色检测:100行Python实现

概述

本文中的人体肤色检测功能采用 OpenCV 库实现。OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上. 它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。

本文主要使用了OpenCV的图像色域转换, 颜色通道分割, 高斯滤波, OSTU自动阈值等功能。

参考资料

OpenCV探索之路:皮肤检测技术;

学习OpenCV—肤色检测。

准备工作

安装 Python-OpenCV 库
pip install opencv-python -i https://mirrors.ustc.edu.cn/pypi/web/simple  

利用 -i 为pip指令镜像源, 这里使用电子科技大学的源, 速度比官方源更快。

安装 Numpy 科学计算库
pip install numpy -i https://mirrors.ustc.edu.cn/pypi/web/simple  

图像的基本操作
import numpy as np  
import cv2  
imname =  "6358772.jpg"  
# 读入图像  
'''  
使用函数 cv2.imread() 读入图像。这幅图像应该在此程序的工作路径,或者给函数提供完整路径.  
警告:就算图像的路径是错的,OpenCV 也不会提醒你的,但是当你使用命令print(img)时得到的结果是None。  
'''  
img = cv2.imread(imname, cv2.IMREAD_COLOR)  
'''  
imread函数的第一个参数是要打开的图像的名称(带路径)  
第二个参数是告诉函数应该如何读取这幅图片. 其中  
    cv2.IMREAD_COLOR 表示读入一副彩色图像, alpha 通道被忽略, 默认值  
    cv2.IMREAD_ANYCOLOR 表示读入一副彩色图像  
    cv2.IMREAD_GRAYSCALE 表示读入一副灰度图像  
    cv2.IMREAD_UNCHANGED 表示读入一幅图像,并且包括图像的 alpha 通道  
'''  
# 显示图像  
''
  • 11
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值