手势识别中起首要进行肤色查抄 , 判定hand在那边 , 常用的方式有好几种 , 先来介绍比力传统的OTSU二值方式 。
需要这些哦
pycharm python 编纂器
windows7情况 opencv 模块
方式/
1我们知道YUV色彩模子源于RGB模子 , 亮度和色度分手开 , 适合于图像处置 。
YCbCr模子来历于YUV模子 , 多用于数字视频 。 好比H.264(用过FFMPEG的都知道)
YCrCb合用于显示器
【python 通过OTSU二值方法进行肤色检查】 Y指亮度分量 , Cb指蓝色色度分量 , 而Cr指红色色度分量
2import cv2 as cv
import numpy as np
from random
import random from random
import randint
image = cv.imread('c:\\handtest.jpg', cv.IMREAD_COLOR)
cv.imshow("image", image)
文章插图
3YCrCb = cv.cvtColor(image, cv.COLOR_BGR2YCrCb)
# 把图像转换到YCrCb
cv.imshow("YCrCb", YCrCb)
文章插图
4# 别离获取Y, Cr, Cb通道图像
(Y, Cr, Cb) = cv.split(YCrCb)
cv.imshow("Y", Y)
cv.imshow("Cr", Cr)
cv.imshow("Cb", Cb)
文章插图
文章插图
文章插图
5# 高斯滤波,
对红色分量进行高斯滤波 消弭边缘的影响 采用(5 , 5)核
GaussianBlur = cv.GaussianBlur(Cr, (5, 5), 0)
cv.imshow("GaussianBlur", GaussianBlur)
文章插图
6# 用经典的OTSU算法 二值化图像
ret, threshold = cv.threshold(GaussianBlur, 0, 255, cv.THRESH_BINARY + cv.THRESH_OTSU)
cv.imshow("threshold", threshold )
cv.waitKey(0)cv.destroyAllWindows()
文章插图
7小结:
二值化方式检测是可以实现肤色检测的 , 可是不完美有些离散斑块
注重事项长处:cv.threshold 简单易操作
错误谬误: 有些许离散斑块
以上内容就是python 通过OTSU二值方法进行肤色检查的内容啦 , 希望对你有所帮助哦!
推荐阅读
- 怎么通过码上行查看自己乘坐地铁扫码交易明细
- 春望主旨 杜甫春望的主旨
- 稻大鼠咬人怎么办
- 申请京东条需要哪些条件?2019年白条肯定通过
- 抱财网怎么借款?抱财网借款流程,2019一定通过
- 萨哈林田鼠咬人怎么办
- 如何通过便便的颜色判断你的肠胃情况
- 蚂蚁借款审核通过要多久放款 蚂蚁借呗审核通过多久
- 荣耀阅读应用怎样通过历史记录来打开小说
- 如何通过百度地图 赏花季 查看春天赏花攻略