python颜色识别,46行代码实现865种颜色识别,看过的都说顶呱呱!
1.先介绍我做的颜色识别的功能,简单的说,就是该脚本可以打开图片,在图片上点击某个区域,可以识别某个区域的颜色,颜色识别准确度很高,很多时候颜色识别是辅助物体的颜色识别,但这个代码你们可以随意修改,就比如你们使用深度学习识别了车子,然后让自动让鼠标点击车子,识别车子颜色,诸如此类。
2.读入图片,使用opencv-python库,安装opencv-python命令
pip install opencv-python
没有设置下载源的使用命令
pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple
3.我使用的素材颜色图片,因为为了醒目,我选择了颜色鲜明的图,该图如下
4.读取csv文件,使用pandas库,安装pandas库命令
pip install pandas
没有设置下载源的使用命令
pip install pandas -i https://pypi.tuna.tsinghua.edu.cn/simple
5.读取颜色csv表格 ,该表格包含865种颜色判断,每个识别的颜色都会从中进行对比判别,该cvs表格将由我给你们网盘获取,如下
链接:https://pan.baidu.com/s/1LnyDYqcli–aVa2v8zIT-g
提取码:kt05
6.创建一个定义函数draw,该函数是放大颜色区域,在图片上方识别颜色
def draw(event, x, y, flags, parm):if event == cv2.EVENT_LBUTTONDBLCLK: # 鼠标左击global b, g, r, xpos, ypos, clickedclicked = Truexpos = xypos = yb, g, r = img[y, x]b = int(b)g = int(g)r = int(r)
7.创建另一个定义函数getColorName,该函数是将color.csv文件中对比出的颜色名写出
def getColorName(R, G, B):minimum = 10000for i in range(len(csv)):d = abs(R - int(csv.loc[i, "R"])) + abs(G - int(csv.loc[i, "G"])) + abs(B - int(csv.loc[i, "B"]))if (d <= minimum):minimum = dcname = csv.loc[i, 'color_name']return cname
8.完整代码呈现
import cv2
import pandas as pdimg_path = "2.png"
img = cv2.imread(img_path)
clicked = False
r = g = b = xpos = ypos = 0
index = ['color', 'color_name', 'hex', 'R', 'G', 'B']
csv = pd.read_csv('colors.csv', names=index, header=None)def draw(event, x, y, flags, parm):if event == cv2.EVENT_LBUTTONDBLCLK: # 鼠标左击global b, g, r, xpos, ypos, clickedclicked = Truexpos = xypos = yb, g, r = img[y, x]b = int(b)g = int(g)r = int(r)
cv2.namedWindow('image')
cv2.setMouseCallback('image', draw) # 鼠标事件响应def getColorName(R, G, B):minimum = 10000for i in range(len(csv)):d = abs(R - int(csv.loc[i, "R"])) + abs(G - int(csv.loc[i, "G"])) + abs(B - int(csv.loc[i, "B"]))if (d <= minimum):minimum = dcname = csv.loc[i, 'color_name']return cnameif __name__ == '__main__':while (1):cv2.imshow('image', img)if (clicked):cv2.rectangle(img, (20, 20), (750, 60), (b, g, r), -1)text = getColorName(r, g, b) + "R=" + str(r) + "G=" + str(g) + "B=" + str(b)cv2.putText(img, text, (50, 50), 2, 0.8, (255, 255, 255), 2, cv2.LINE_AA)if (r + g + b >= 600):cv2.putText(img, text, (50, 50), 2, 0.8, (0, 0, 0), cv2.LINE_AA)clicked = Falseif cv2.waitKey(20) & 0xFF == 27:break
9.运行后展示
运行成功的兄弟们希望一键三连,
雄起!!!
python颜色识别,46行代码实现865种颜色识别,看过的都说顶呱呱!相关推荐
- python怎么实现输入多行文字_介绍一个Python 包,几行代码可实现 OCR 文本识别!...
点击上方 Z先生点记,加为星标 第一时间收到 Python 技术干货! 文字 OCR 识别技术现在已经相当成熟了,无论 其 准确度还是识别速度 都能够满足我们的日常需要:今天给大家介绍一个 Pytho ...
- python怎么判断真假_Python不超过10行代码就可实现人脸识别,教你辨别真假
[[爱编程的南风]Python不超过10行代码就可实现人脸识别,教你辨别真假]http://toutiao.com/group/6518157903055045127/?iid=15906422033 ...
- 人脸检测算法代码python_Python有多强大!20行代码实现人脸检测与识别
题记:大二的时候发现人生苦短,所以信了拍神,开始学Python.学了大半年之后成功转行做前端了.来写个教程帮助大家入门Python. Python优点 Python是一种简单易学.功能强大的编程语言, ...
- 手把手,74行代码实现手写数字识别
手把手,74行代码实现手写数字识别 689 次阅读 - 2015.12.29 - 人工智能 - 龙猫 http://dataunion.org/20992.html 1. 引言:不要站在岸上学游泳 & ...
- Python的IDE之PyCharm:PyCharm的使用技巧图文教程(修改Pycharm默认风格颜色、编辑器内代码注释区域的颜色、编辑器内的Python Interpreter等)之详细攻略
Python的IDE之PyCharm:PyCharm的使用技巧图文教程(修改Pycharm默认风格颜色.编辑器内代码注释区域的颜色.编辑器内的Python Interpreter等)之详细攻略 目录 ...
- python小游戏-16行代码实现3D撞球小游戏!-源码下载
python小游戏-16行代码实现3D撞球小游戏!-源码下载 所属网站分类: 资源下载 > python小游戏 作者:搞笑 链接: http://www.pythonheidong.com/bl ...
- Python爬虫利用18行代码爬取虎牙上百张小姐姐图片
Python爬虫利用18行代码爬取虎牙上百张小姐姐图片 下面开始上代码 需要用到的库 import request #页面请求 import time #用于时间延迟 import re #正则表达式 ...
- OpenCV-Python实战(14)——人脸检测详解(仅需6行代码学会4种人脸检测方法)
OpenCV-Python实战(14)--人脸检测详解(仅需6行代码学会4种人脸检测方法) 0. 前言 1. 人脸处理简介 2. 安装人脸处理相关库 2.1 安装 dlib 2.2 安装 face_r ...
- python人脸识别代码_Python不用10行代码就可实现人脸识别,还可辨别真假,太棒了!...
人脸识别技术大致由人脸检测和人脸识别两个环节组成.之所以要有人脸检测,不光是为了检测出照片上是否有人脸,更重要的是把照片中人脸无关的部分删掉,否则整张照片的像素都传给f(x)识别函数肯定就不可用了.人 ...
- python编程人脸识别工具_几行代码带你实现人脸识别。Python 就是这么简单
本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于腾讯云 作者:Python编程与实战 阅读文本大概需要 11分钟. ...
最新文章
- Python程序中创建子进程时对环境变量的要求
- centos7 安装node
- Memcached:高性能的分布式内存缓存服务器
- 线段树(SegmentTree)学习笔记
- 计算机应用基础实训教程视频,计算机应用基础与实训教程第7章.ppt
- 谷粒学院笔记day01
- 数模算法:模糊综合评价模型
- oracle自动清理归档,Oracle rman 自动清理归档日志
- C语言之利用文件保存数据
- 2021 秋招算法岗人间地狱?人工智能方向年薪 60w 起!
- un-app部署h5项目到普通云服务器--域名解析--OOS对象存储
- 如何用echarts组件制作图表
- oauth2 ldap sso
- 【jzoj5055】【GDOI2017模拟二试4.12】【树上路径】【点分治】
- (PTA数据结构与算法) 6-2 顺序表操作集 ——请告诉我什么是顺序表!!!
- 智搜Giiso写作机器人调研
- Markov Chains
- 微信公众号文章已经获授权加入白名单了,为什么系统还是自动替换成原文章?
- Python 之 Qt Designer工具相关安装配置
- 20201025firewall-config以及ssh服务管理远程主机以及双网卡实现网络均衡负载
热门文章
- 计算机硬件 系统安装维护教程 04系统安装-Win-02:使用Dism++对系统进行初始化前配置
- 印度成不了下一个世界工厂,越南才可能
- sap固定资产号码范围_SAP--FI详细解---固定资产
- 快速掌握粒子编辑器 —— onebyonedesign网页版
- Hibernate教程——史上最全面的项目和教程集合
- VC6 程序 在VS2019或其他高版本上编译运行
- sap不用oracle数据库库,SAP系统安装之Oracle 10g数据库(Win3264)
- 【测试】使用Fiddler4实现手机抓包
- jquery 使用文档
- Hadoop安装教程 Linux版