通过圆的颜色并结合霍夫变换检测目标圆的OpenCV代码
2016-07-07 14:44
387 查看
在实际应用场景中,我们遇到的图像一般是真彩色图像,即要检测的目标带有颜色信息,所以有必要知道如何利用目标的颜色信息来对目标进行检测。
在对图像的颜色进行处理时,RGB通道并不能很好地反映出物体具有的颜色信息,所以通常选取HSV颜色空间进行处理,在OpenCV的HSV空间中,H通道为色度通道,取值范围为0到180,S和V和饱和度与亮度通道,取值范围为0到255。比如红色在HSV颜色空间中的色度范围为0~10和160~180.
在这里,我给大家提供一个取色和调色小工具,这个小工具支持HSV空间的取色哦!不过不管是这个小工具还是PS中,H的范围都是0~360,S的范围是0到百分之百,V的范围也是0到百度分之百,这个也和百科上的解释是一致的。所以你在具体使用的时候要按比例转化一下哦!比如车牌蓝在标准HSV中是(225,100%,81%)那么转换到OpenCV中就是(225/360*180,255*100%,255*81%)!
下载链接:http://pan.baidu.com/s/1qYpcU1u
软件的截图如下:
下面上代码,代码中用到的图像的下载链接为:https://pan.baidu.com/s/1bo6hEft
本博文提供的代码的思路是:先对输入图像进行HSV通道转换,然后利用红色的色度范围设置高、低阈值,从而检测原图中红色的大圆与小圆。高、低阈值处理后各得到一个图像,将这两张图像合并后进行高斯滤波处理,完了之后再利用霍夫变换中的圆检测技术进行圆形区域提取。
运行结果如下图所示:
这里说明上面右上的图为什么是那样?那是因为在BGR空间中显然的HSV格式的图!
-------------------------------------------
欢迎大家加入图像识别技术交流群:271891601,另外,特别欢迎成都从事图像识别工作的朋友交流,我的QQ号2487872782
在对图像的颜色进行处理时,RGB通道并不能很好地反映出物体具有的颜色信息,所以通常选取HSV颜色空间进行处理,在OpenCV的HSV空间中,H通道为色度通道,取值范围为0到180,S和V和饱和度与亮度通道,取值范围为0到255。比如红色在HSV颜色空间中的色度范围为0~10和160~180.
在这里,我给大家提供一个取色和调色小工具,这个小工具支持HSV空间的取色哦!不过不管是这个小工具还是PS中,H的范围都是0~360,S的范围是0到百分之百,V的范围也是0到百度分之百,这个也和百科上的解释是一致的。所以你在具体使用的时候要按比例转化一下哦!比如车牌蓝在标准HSV中是(225,100%,81%)那么转换到OpenCV中就是(225/360*180,255*100%,255*81%)!
下载链接:http://pan.baidu.com/s/1qYpcU1u
软件的截图如下:
下面上代码,代码中用到的图像的下载链接为:https://pan.baidu.com/s/1bo6hEft
本博文提供的代码的思路是:先对输入图像进行HSV通道转换,然后利用红色的色度范围设置高、低阈值,从而检测原图中红色的大圆与小圆。高、低阈值处理后各得到一个图像,将这两张图像合并后进行高斯滤波处理,完了之后再利用霍夫变换中的圆检测技术进行圆形区域提取。
//OpenCV版本3.0.0 //交流QQ2487872782 2016-8-4注:很报歉,此代码目前不能公开发表在博客上,已经删除,希望大家能理解!
运行结果如下图所示:
这里说明上面右上的图为什么是那样?那是因为在BGR空间中显然的HSV格式的图!
-------------------------------------------
欢迎大家加入图像识别技术交流群:271891601,另外,特别欢迎成都从事图像识别工作的朋友交流,我的QQ号2487872782
相关文章推荐
- C++读取文件夹下的多个文件
- java多线程的创建
- java基于servlet编写上传下载功能 类似文件服务器
- 右左法则
- YII2 Model 类切换数据库连接
- C++虚函数简单总结
- php经典算法
- ASP.NET—013:实现带控件的弹出层(弹出框)
- java中ajax使用--传回一个字符串
- 利用MyBatis Generator自动创建代码
- svn--使用MyEclipse插件
- 转 手把手教你最简单的开源项目托管GitHub入门教程
- Java基础知识--补充
- Java ConcurrentModificationException异常原因和解决方法
- C++处理JSON
- java截取字符串
- 配置Java环境变量
- 解决织梦后台文章编辑内容为空
- spring配置文件详解--真的蛮详细
- 新手如何学习java(java学习建议路线图)