python颜色识别_OpenCV(Python)学习之识别图片特定颜色
说明
根据官方文档学习使用cv2.cvtColor()、cv2.inRange()和cv2.bitwise_and()方法。通过使用cv2.cvtColor()将图片转换为hsv颜色空间形式的图片,再通过cv2.inRange()得到mask画面,再用cv2.bitwise_and()方法将原图与mask图片融合,最终得到需要找到特定颜色的区域。代码如下
import cv2
import numpy as np
import matplotlib.pyplot as plt
#read image
img = cv2.imread('Pic.jpg')
#convert BGR to HSV
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
#defined the range of a color
lower_color = np.array([17,100,100])
upper_color = np.array([23,230,255])
#get mask
mask = cv2.inRange(hsv, lower_color, upper_color)
#get result
res = cv2.bitwise_and(img, img, mask= mask)
#Because cv2's color system is BGR, but matplotlib's color system is RGB,
#must convert BGR to RGB
imgrgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
resrgb = cv2.cvtColor(res, cv2.COLOR_BGR2RGB)
img_data = [imgrgb, hsv, mask, resrgb]
titles = ['Original image', 'HSV image', 'Mask image', 'Result image']
for i in range(4):
plt.subplot(2,2,i+1)
plt.imshow(img_data[i])
plt.title(titles[i])
plt.xticks([])
plt.yticks([])
plt.show()
结果如下图:
找特定颜色的HSV值可通过如下方法:
color_value = np.uint([[[30,182,253]]])
color_hsv_value = cv2.cvtColor(color_value, cv2.COLOR_BGR2HSV)
print(color_hsv_value)
通过上述三行命令可以得出来想要找出颜色的hsv值,然后在根据想要的效果确定范围值即可。
写这些东西是发现自己在学习的时候容易忘记,所以想通过写下来能够增加熟练度。
python颜色识别_OpenCV(Python)学习之识别图片特定颜色相关推荐
- python 答题卡识别_opencv+python机读卡识别整合版
稍微整理了一下这个系列的一二三四章,可能看着更舒服吧--这个系列的解决方案不止一种,调参的方法也是各种各样,反正能够满足需求就极好了 1.预处理 这次的机读卡识别项目来源暑期培训,主要包括内容一张手机 ...
- python绘制汉字_OpenCV Python 绘制中文字
By 凌顺 2019年9月12日 本示例使用的OpenCV版本是:4.1.1 运行Python的编辑器:Jupyter notebook 示例目的 通过使用PLI在图片上添加中文字符. PIL(Pyt ...
- python 创建画板_OpenCV +Python 制作画板
首先声明一下,本例思路不是博主原创,博主在前人的代码上进行了个性化的修改,制作了一个简单的画图工具.下面附上自己的理解,与君共勉. 效果图 画图工具实现 代码 # coding:utf-8 impor ...
- python制作礼物_opencv+python制作硬核七夕礼物
点击上方"蓝色小字"关注我呀 明天就是七夕了! 如果有对象,祝早生贵子!没有对象,祝早结连理! (搞笑一下,祝大家幸福美满吧,嘿嘿嘿) 给大家准备了一份已经写好的代码,利用pyth ...
- OCR文字识别:深度学习算法识别步骤
之前没有接触过OCR文字识别,本文主要对使用深度学习算法完成文字识别的整体步骤进行一下梳理. 一般来说,OCR文字识别是检测+识别,首先将可能在文字的区域检测出来,然后在进行识别.本质是识别图片中的文 ...
- 颜色矩特征提取matlab,求matlab彩色图片的颜色特征提取算法的代码,和纹理特征提取的? 爱问知识人...
其实学数字图像处理,关键的不是源代码(和一般编程还是有区别的,这个是经验之谈,其实一般博导未必会编程,但是你和他说说你的方法,他一般都能切中要害),而是你能理解基于概念及适用场所. 基于颜色.纹理.形 ...
- python 答题卡识别_opencv+python机读卡识别(初级版)
最近在进一步学习Python,在网上发现有使用opencv进行机读卡识别的, 就根据大神的文章,跟着学习,自己写了一个机读卡识别, 文章一:opencv+python机读卡识别整合版 文章二:pyth ...
- python 答题卡识别_opencv+python机读卡识别(最终版)
本文是对之前编写的机读卡进行完善, 只记录相关代码,不介绍具体编写流程, 具体流程:opencv+python机读卡识别(进阶版) 完善相关机读卡的适配,记录相关调试函数以及使用方法. # -*- c ...
- python线程实现人脸识别_OpenCV/Python:用于实时人脸识别的多线程技术
我尝试了一种简化的方法,如p.Ro在他的回答中提到的,进程写入输出队列,但是由于所有进程同时写入队列,队列大部分时间都被锁定了.(只是我的猜测)我可能做错了什么. 最后我用了管子. 密码太恶心了.但如 ...
- python椭圆识别_opencv python中的椭圆检测
Xie,Yonghong和Qiang Ji制作的skimage中有另一种替代方法,并出版为- "A new efficient ellipse detection method." ...
最新文章
- python学习干货教程(5):#!/usr/bin/python
- Ch2,KNN分类算法程序分析----机器学习实践P19页
- 京东玩三角恋,结果“擦枪走火”
- 实现位数超过32bit的整数的加减乘除运算_Excel的加减乘除已经不再是你想象的加减乘除...
- 深入分析 Javascript 单线程
- [html] 如何判断用户正在操作页面?当页面一个小时没有操作时跳转到指定页面如何做?
- oracle查询sql时间ain,Oracle SQL 时间查询
- 简易实现 TextView单行文本水平触摸滑动效果
- putty-不输入密码直接登陆
- UnityParticle3:3x常用模块
- C++基础篇之抽象类的接口
- Linux 配置双网卡,同时访问内外网
- 在C语言中怎样定义一个字符串并输入输出
- 第 17 章 设计模式(3 装饰者模式)
- 【期权系列】期权市场 PCR 指标的策略应用
- 漏洞信息收集之——资产梳理
- 玻璃厂CCD视觉设备APS系统数据采集对接格式规范
- CocosCreater 教程(上)
- h5小游戏--围住神经猫笔记
- 史上最全系列 | 大数据框架知识点汇总(资源分享、还不快拿去)
热门文章
- (ONENET+阿里云+datav+node+js+MYSQL+STM32)基于ONENET的大数据可视化平台搭建
- [系统安全] 一.什么是逆向分析、逆向分析基础及经典扫雷游戏逆向
- 图像处理领域公认的重要英文期刊(SCI收录)
- 计算两向量的旋转角(转)
- 《早起的奇迹》(死过一次的人生赢家)
- C# 给Excel添加水印
- 虚拟现实未来前景无限
- 前端面试需要准备什么?
- win10系统迁移后系统重装_win10分区助手迁移系统到SSD固态硬盘的技巧
- Java枚举类配合Switch