您的位置:首页 > 编程语言 > Python开发

[置顶] 利用python和opencv做的摄像头颜色提取

2016-09-18 21:46 453 查看
           最近导师给了个项目,做个智能捡拾乒乓球机器人,其中一部分涉及摄像头动态捕捉黄色乒乓球。这对于初涉机器视觉开发的大三学生来说是个难题,于是我把任务分解,先完成黄色的颜色提取,再往后做后续的任务。

于是我上网查阅大量资料,突然发现python和opencv的结合能完成强大的类似图

像采集,处理,人脸识别,模式匹配,是机器视觉开发的强大利器,毫不犹豫决定入

坑。

开始使用c++和opencv,但是看到网上的配置过于麻烦,还要装VS。于是另辟蹊

径,从此打开python的大门。python看了相关介绍,觉得非常好用,易于上手,从此爱

上了python。当然也没忘了老本行java,作为有追求的码农必须视野开拓。(好的,怪

我又扯远了,python的简单好用我就不多说了,全在代码里,360搜一下也行)。

opencv更是强大到不行,让我这种数学不好的能用到那么多已实现的优秀算法,让

机器视觉开发变得更加简单,你只需关心你的应用,而不需敲破脑袋去实现那些高大上

的算法,感谢Intel和工程师不懈的努力。

首先,我先强调我的开发环境是python2.7和opencv2.4.8,因为python3.0和以后的

版本不兼容python2.x,安装配置什么的我就不介绍了,网上教程一大堆,否则也就不算原创了。

简单介绍下HSV和BGR:



在图像处理中,最常用的颜色空间是RGB模型,常用于颜色显示和图像处理,三维

坐标的模型形式,非常容易被理解。

而HSV模型,是针对用户观感的一种颜色模型,侧重于色彩表示,什么颜色、深

浅如何、明暗如何。

第一次接触HSV,书本里首先抛出的是一个圆锥模型,由于很少使用HSV,所以印

象不深刻,但看一些资料时,HSV的概念时不时出来骚扰一些人的神经,所以,弄清楚
HSV与RGB的关系,建立直观的印象是很有必要的。

HSV(Hue, Saturation, Value)是根据颜色的直观特性由A. R. Smith在1978年创建

的一种颜色空间, 也称六角锥体模型(Hexcone Model)。

这个模型中颜色的参数分别是:色调(H),饱和度(S),明度(V)。

色调H

用角度度量,取值范围为0°~360°,从红色开始按逆时针方向计算,红色为0°,绿色为120°,蓝色为240°。它们的补色是:黄色为60°,青色为180°,品红为300°;

饱和度S

饱和度S表示颜色接近光谱色的程度。一种颜色,可以看成是某种光谱色与白色混合的结果。其中光谱色所占的比例愈大,颜色接近光谱色的程度就愈高,颜色的饱和度也就愈高。饱和度高,颜色则深而艳。光谱色的白光成分为0,饱和度达到最高。通常取值范围为0%~100%,值越大,颜色越饱和。

明度V

明度表示颜色明亮的程度,对于光源色,明度值与发光体的光亮度有关;对于物体色,此值和物体的透射比或反射比有关。通常取值范围为0%(黑)到100%(白)。

看图知效果:







有想要代码的去下载我的资源,这里我就不贴了
链接地址:http://download.csdn.net/detail/qq_24693837/9633146
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: