没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
关于简单目标识别与意图分析的机器学习实战研究(颜色识别)
上一节我们说到要加强目标识别方法,怎么做到这点呢,我翻了翻 OpenCV 的官方文
档,发现除了模板匹配之外,颜色匹配是它的另一个目标识别方法,一般的思路是这样的:
首先使用 OpenCV 截取图像,然后将图像内 RGB 转换为 HSV 色彩空间进行判断,统计判断
HSV 和 RGB 的范围对应关系,最后输出 RGB 值
然后将目标图片进行处理,将 RGB 颜色转为 HSV;使用 cv2 中 inRange()函数过滤背景
颜色;将过滤后的颜色进行二值化处理,得到双色彩图片(其中有一种是我们目标的颜色);
再使用 dilate()函数对双色彩图片进行形态学腐蚀膨胀;最后统计白色区域面积。
这里为什么要将 RGB 转换成 HSV 色彩空间呢?
主要是因为 HSV 色彩空间可以提高识别的准确率,较 RGB 而言更适合于目标识别这一
领域,当前很多出色的颜色识别项目,都是在这个空间下进行的识别。这里我想到了一个增
加精度的方法,在测试前对目标图片做一次高斯模糊的效果会更好一些,实验也证明确实是
这样。下面就具体举一个例子,来看看颜色识别的效果吧,一言不合就上代码:
1. #coding:utf-8
2. import cv2 as cv
3. import numpy as np
4. import collections
5. import math
6. import ctypes,sys
7.
8. def getColorList():
9. dict = collections.defaultdict(list)
10.
11. # 黑色
12. lower_black = np.array([0, 0, 0])
13. upper_black = np.array([180, 255, 46])
14. color_list = []
15. color_list.append(lower_black)
16. color_list.append(upper_black)
17. dict['black'] = color_list
18.
19. # 白色
20. lower_white = np.array([0, 0, 221])
21. upper_white = np.array([180, 30, 255])
22. color_list = []
23. color_list.append(lower_white)
24. color_list.append(upper_white)
25. dict['white'] = color_list
26.
27. #红色
28. lower_red = np.array([156, 43, 46])
29. upper_red = np.array([180, 255, 255])
30. color_list = []
31. color_list.append(lower_red)
资源评论
坑货两只
- 粉丝: 65
- 资源: 290
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 筷手引流工具.apk
- 论文(最终)_20240430235101.pdf
- 基于python编写的Keras深度学习框架开发,利用卷积神经网络CNN,快速识别图片并进行分类
- 最全空间计量实证方法(空间杜宾模型和检验以及结果解释文档).txt
- 5uonly.apk
- 蓝桥杯Python组的历年真题
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 前端开发技术实验报告:内含4四实验&实验报告
- Highlight Plus v20.0.1
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功