opencv+python实现鼠标点击图像,输出该点的RGB和HSV值
作者:water_93 发布时间:2023-05-16 13:37:20
标签:opencv,python,图像,RGB,HSV
我就废话不多说了,大家还是直接看代码吧!
import cv2
# 读取图片并缩放方便显示
img = cv2.imread('D:/6.jpg')
height, width = img.shape[:2]
size = (int(width * 0.2), int(height * 0.2))
# 缩放
img = cv2.resize(img, size, interpolation=cv2.INTER_AREA)
# BGR转化为HSV
HSV = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
# 鼠标点击响应事件
def getposHsv(event, x, y, flags, param):
if event==cv2.EVENT_LBUTTONDOWN:
print("HSV is", HSV[y, x])
def getposBgr(event, x, y, flags, param):
if event==cv2.EVENT_LBUTTONDOWN:
print("Bgr is", img[y, x])
cv2.imshow("imageHSV", HSV)
cv2.imshow('image', img)
cv2.setMouseCallback("imageHSV", getposHsv)
cv2.setMouseCallback("image", getposBgr)
cv2.waitKey(0)
补充知识:python opencv查看图片中任一点的像素 BGR值 灰度值 HSV值
如下所示:
# -*- coding:utf-8 -*-
import cv2
img = cv2.imread('11_13/120002.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
def mouse_click(event, x, y, flags, para):
if event == cv2.EVENT_LBUTTONDOWN: # 左边鼠标点击
print('PIX:', x, y)
print("BGR:", img[y, x])
print("GRAY:", gray[y, x])
print("HSV:", hsv[y, x])
if __name__ == '__main__':
cv2.namedWindow("img")
cv2.setMouseCallback("img", mouse_click)
while True:
cv2.imshow('img', img)
if cv2.waitKey() == ord('q'):
break
cv2.destroyAllWindows()
Windows下有画图软件可以直接查看图片的RGB值,但是没办法查看HSV值,这样一个小程序就可以帮你做到。
附一张opencv下HSV范围图片:
来源:https://blog.csdn.net/water_93/article/details/84584051


猜你喜欢
- 前言春节快到了,一年一度的支付宝集五福活动就要来了,阿牛也是突发奇想,看能不能用python的turtle库画个"福"字
- 前言大家都知道,一条查询语句走了索引和没走索引的查询效率是非常大的,在我们建好了表,建好了索引后,但是一些不好的sql会导致我们的索引失效,
- 我们知道,TypeScript 支持 infer 来提取类型的一部分,通过模式匹配的方式。模式匹配比如元组类型提取最后一个元素的类型:typ
- 1 概述1.1 贪心算法贪心算法总是作出在当前看来最好的选择。也就是说贪心算法并不从整体最优考虑,它所作出的选择只是在某种意义上的局部最优选
- 语法plt.scatter(x, y, s=20, c='b')大小s默认为20,s=0时点不显示;颜色c默认为蓝色。为每一
- 本文实例讲述了Python实现子类调用父类的方法。分享给大家供大家参考。具体实现方法如下:python和其他面向对象语言类似,每个类可以拥有
- 元组的特点:是一种不可变序列,一旦创建就不能修改1、拆包将元组的元素取出赋值给不同变量>>> a = ('hell
- 说在最前不知道小伙伴们在写代码的时候有没有区分开numpy.abs和abs函数,别小看这两个函数,如果在写程序的时候正确区分使用这两个函数可
- 应用场景:工作中经常遇到大量的数据需要整合、去重、按照特定格式导出等情况。如果用 Excel 操作,不仅费时费力,还不准确,有么有更高效的解
- 先说下自己的环境,redis是部署在centos上的,爬虫运行在windows上,1. 安装redisyum install -y redi
- 1、epochKeras官方文档中给出的解释是:“简单说,epochs指的就是训练过程接中数据将被“轮”多少次”(1)释义:训练过程中当一个
- 在当前的Web设计中,jQuery被越来越多地应用在Web开发中,之所以jQuery收到如此程度的欢迎,除了其本身具备的优秀易读易操作的代码
- Python的for循环十分灵活,使用for循环我们可以很轻松地遍历一个列表,例如:a_list = ['z', '
- 1. 引言Python程序有许多模块和第三方包,这非常有助于高效编程。了解这些模块的正确使用方法是很重要的,在本文中,主要介绍一些非常实用的
- APScheduler (advanceded python scheduler)是一款Python开发的定时任务工具。文档地址
- eWebEditor V2.80最终版 说明 目录结构说明 =============================
- 目录一.准备数据创建数据表插入数据二.SQL演练1. SQL语句的强化2. 创建 "商品分类"" 表3. 同步
- 本文实例讲述了Vue插槽原理与用法。分享给大家供大家参考,具体如下:1 插槽内容Vue 实现了一套内容分发的 API,这套 API 基于当前
- 高可用架构对于互联网服务基本是标配,无论是应用服务还是数据库服务都需要做到高可用。虽然互联网服务号称7*24小时不间断服务,但多多少少有一些
- 一、进入pycharm二、步骤1、开始点击pycharm左上角的file,找到python interpreter,点击右边的设置(长得像齿