createtrackbar函数_【3】OpenCV图像处理模块(10)inRange函数实现阈值化,HSV图像分割...

a684ab4e3ce54f8377292c3011692b9c.png

本节使用inRange函数来实现阈值化。跟前面的阈值化方法一样,只不过在实现时用阈值范围来替代固定阈值。

本节还提供了一种物体检测的手段,用基于像素值范围的方法,在HSV色彩空间检测物体。


HSV色彩空间

HSV(hue,saturation,value的首字母,分别表示颜色的色相、饱和度、强度)色彩空间是一种类似于RGB的颜色表示方式。hue通道是颜色类型,在需要根据颜色来分割物体的应用中,非常有效。saturation 的变化从不饱和到完全饱和,对应下图中灰色过度到阴影(没有白色成分)。Value描述了颜色的强度或者说亮度。下面是HSV圆柱体,表示HSV的颜色空间。

a8ee45b0ced80b6f8d4f73995711d8bd.png
HSV色彩空间By SharkDderivative work: SharkD [CC BY-SA 3.0 or GFDL], via Wikimedia Commons

由于RGB色彩空间是由三个来编码颜色,所以难以根据颜色来分割物体。

51509cceec82356be00608f5535c6cc5.png
RGB色彩空间By SharkD [GFDL or CC BY-SA 4.0], from Wikimedia Commons

颜色空间的转换可使用cvtColor函数。

代码

// @tutorials imgproc module 10

结果

程序运行后,通过trackbar分别设置HSV像素范围,截取部分处理结果如下图。可以看到设置不同的值,可以得到不同的分割效果。

c2139498e102d9443d4ac15b75d6b496.png

f0c0da190632937d4f38c009f21f7632.png
分割得到手和手臂

022294c33e4d7e1ac1b0c1f641cee487.png

e0e378cac6f7ca2451d58cf0f5e7f774.png
分割得到杯子和手臂
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值