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种颜色识别,看过的都说顶呱呱!相关推荐

  1. python怎么实现输入多行文字_介绍一个Python 包,几行代码可实现 OCR 文本识别!...

    点击上方 Z先生点记,加为星标 第一时间收到 Python 技术干货! 文字 OCR 识别技术现在已经相当成熟了,无论 其 准确度还是识别速度 都能够满足我们的日常需要:今天给大家介绍一个 Pytho ...

  2. python怎么判断真假_Python不超过10行代码就可实现人脸识别,教你辨别真假

    [[爱编程的南风]Python不超过10行代码就可实现人脸识别,教你辨别真假]http://toutiao.com/group/6518157903055045127/?iid=15906422033 ...

  3. 人脸检测算法代码python_Python有多强大!20行代码实现人脸检测与识别

    题记:大二的时候发现人生苦短,所以信了拍神,开始学Python.学了大半年之后成功转行做前端了.来写个教程帮助大家入门Python. Python优点 Python是一种简单易学.功能强大的编程语言, ...

  4. 手把手,74行代码实现手写数字识别

    手把手,74行代码实现手写数字识别 689 次阅读 - 2015.12.29 - 人工智能 - 龙猫 http://dataunion.org/20992.html 1. 引言:不要站在岸上学游泳 & ...

  5. Python的IDE之PyCharm:PyCharm的使用技巧图文教程(修改Pycharm默认风格颜色、编辑器内代码注释区域的颜色、编辑器内的Python Interpreter等)之详细攻略

    Python的IDE之PyCharm:PyCharm的使用技巧图文教程(修改Pycharm默认风格颜色.编辑器内代码注释区域的颜色.编辑器内的Python Interpreter等)之详细攻略 目录 ...

  6. python小游戏-16行代码实现3D撞球小游戏!-源码下载

    python小游戏-16行代码实现3D撞球小游戏!-源码下载 所属网站分类: 资源下载 > python小游戏 作者:搞笑 链接: http://www.pythonheidong.com/bl ...

  7. Python爬虫利用18行代码爬取虎牙上百张小姐姐图片

    Python爬虫利用18行代码爬取虎牙上百张小姐姐图片 下面开始上代码 需要用到的库 import request #页面请求 import time #用于时间延迟 import re #正则表达式 ...

  8. OpenCV-Python实战(14)——人脸检测详解(仅需6行代码学会4种人脸检测方法)

    OpenCV-Python实战(14)--人脸检测详解(仅需6行代码学会4种人脸检测方法) 0. 前言 1. 人脸处理简介 2. 安装人脸处理相关库 2.1 安装 dlib 2.2 安装 face_r ...

  9. python人脸识别代码_Python不用10行代码就可实现人脸识别,还可辨别真假,太棒了!...

    人脸识别技术大致由人脸检测和人脸识别两个环节组成.之所以要有人脸检测,不光是为了检测出照片上是否有人脸,更重要的是把照片中人脸无关的部分删掉,否则整张照片的像素都传给f(x)识别函数肯定就不可用了.人 ...

  10. python编程人脸识别工具_几行代码带你实现人脸识别。Python 就是这么简单

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于腾讯云 作者:Python编程与实战 阅读文本大概需要 11分钟. ...

最新文章

  1. Python程序中创建子进程时对环境变量的要求
  2. centos7 安装node
  3. Memcached:高性能的分布式内存缓存服务器
  4. 线段树(SegmentTree)学习笔记
  5. 计算机应用基础实训教程视频,计算机应用基础与实训教程第7章.ppt
  6. 谷粒学院笔记day01
  7. 数模算法:模糊综合评价模型
  8. oracle自动清理归档,Oracle rman 自动清理归档日志
  9. C语言之利用文件保存数据
  10. 2021 秋招算法岗人间地狱?人工智能方向年薪 60w 起!
  11. un-app部署h5项目到普通云服务器--域名解析--OOS对象存储
  12. 如何用echarts组件制作图表
  13. oauth2 ldap sso
  14. 【jzoj5055】【GDOI2017模拟二试4.12】【树上路径】【点分治】
  15. (PTA数据结构与算法) 6-2 顺序表操作集 ——请告诉我什么是顺序表!!!
  16. 智搜Giiso写作机器人调研
  17. Markov Chains
  18. 微信公众号文章已经获授权加入白名单了,为什么系统还是自动替换成原文章?
  19. Python 之 Qt Designer工具相关安装配置
  20. 20201025firewall-config以及ssh服务管理远程主机以及双网卡实现网络均衡负载

热门文章

  1. 计算机硬件 系统安装维护教程 04系统安装-Win-02:使用Dism++对系统进行初始化前配置
  2. 印度成不了下一个世界工厂,越南才可能
  3. sap固定资产号码范围_SAP--FI详细解---固定资产
  4. 快速掌握粒子编辑器 —— onebyonedesign网页版
  5. Hibernate教程——史上最全面的项目和教程集合
  6. VC6 程序 在VS2019或其他高版本上编译运行
  7. sap不用oracle数据库库,SAP系统安装之Oracle 10g数据库(Win3264)
  8. 【测试】使用Fiddler4实现手机抓包
  9. jquery 使用文档
  10. Hadoop安装教程 Linux版