opencv+python实现鼠标点击图像,输出该点的RGB和HSV值


Posted in Python onJune 02, 2020

我就废话不多说了,大家还是直接看代码吧!

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范围图片:

opencv+python实现鼠标点击图像,输出该点的RGB和HSV值

以上这篇opencv+python实现鼠标点击图像,输出该点的RGB和HSV值就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python和Ruby中each循环引用变量问题(一个隐秘BUG?)
Jun 04 Python
Centos5.x下升级python到python2.7版本教程
Feb 14 Python
Tensorflow 自带可视化Tensorboard使用方法(附项目代码)
Feb 10 Python
python的scikit-learn将特征转成one-hot特征的方法
Jul 10 Python
Django model序列化为json的方法示例
Oct 16 Python
浅谈Python中的可迭代对象、迭代器、For循环工作机制、生成器
Mar 11 Python
python 的 scapy库,实现网卡收发包的例子
Jul 23 Python
Python如何调用JS文件中的函数
Aug 16 Python
python列表返回重复数据的下标
Feb 10 Python
python如何将两张图片生成为全景图片
Mar 05 Python
解决运行出现'dict' object has no attribute 'has_key'问题
Jul 15 Python
PyQt QMainWindow的使用示例
Mar 24 Python
简单介绍一下pyinstaller打包以及安全性的实现
Jun 02 #Python
Python几种常见算法汇总
Jun 02 #Python
opencv-python的RGB与BGR互转方式
Jun 02 #Python
解决pyinstaller打包运行程序时出现缺少plotly库问题
Jun 02 #Python
Pytorch 使用opnecv读入图像由HWC转为BCHW格式方式
Jun 02 #Python
基于pycharm实现批量修改变量名
Jun 02 #Python
pytorch读取图像数据转成opencv格式实例
Jun 02 #Python
You might like
超神学院:天使彦公认最美的三个视角,网友:我的天使快下凡吧!
2020/03/02 国漫
使用无限生命期Session的方法
2006/10/09 PHP
在Yii2中使用Pjax导致Yii2内联脚本载入失败的原因分析
2016/03/06 PHP
PHP创建自己的Composer包方法
2018/04/09 PHP
javascript div 弹出可拖动窗口
2009/02/26 Javascript
JavaScript之appendChild、insertBefore和insertAfter使用说明
2010/12/30 Javascript
JavaScript 图像动画的小demo
2012/05/23 Javascript
浅析jQuery1.8的几个小变化
2013/12/10 Javascript
JS父页面与子页面相互传值方法
2014/03/05 Javascript
js实现文字垂直滚动和鼠标悬停效果
2015/12/31 Javascript
js实现股票实时刷新数据案例
2017/05/14 Javascript
jQuery实现滚动效果
2017/11/17 jQuery
JS中的算法与数据结构之列表(List)实例详解
2019/08/16 Javascript
JS实现TITLE悬停长久显示效果完整示例
2020/02/11 Javascript
[52:52]完美世界DOTA2联赛PWL S3 LBZS vs access 第一场 12.10
2020/12/13 DOTA
Django框架中数据的连锁查询和限制返回数据的方法
2015/07/17 Python
python实现单线程多任务非阻塞TCP服务端
2017/06/13 Python
python实现两个文件合并功能
2018/04/01 Python
Python类的继承、多态及获取对象信息操作详解
2019/02/28 Python
详解python 爬取12306验证码
2019/05/10 Python
tensor和numpy的互相转换的实现示例
2019/08/02 Python
使用Django实现把两个模型类的数据聚合在一起
2020/03/28 Python
Python基于smtplib模块发送邮件代码实例
2020/05/29 Python
python中tkinter窗口位置\坐标\大小等实现示例
2020/07/09 Python
Python本地及虚拟解释器配置过程解析
2020/10/13 Python
css3背景_动力节点Java学院整理
2017/07/11 HTML / CSS
美国半成品食材配送服务商:Home Chef
2018/01/25 全球购物
学生周末长期请假条
2014/02/15 职场文书
移风易俗倡议书
2014/04/15 职场文书
运输企业安全生产责任书
2014/07/28 职场文书
群众路线教育实践活动学习笔记内容
2014/11/06 职场文书
2015年女工委工作总结
2015/07/27 职场文书
2016大学生形势与政策心得体会
2016/01/12 职场文书
承诺书的内容有哪些,怎么写?
2019/06/21 职场文书
浅谈golang package中init方法的多处定义及运行顺序问题
2021/05/06 Golang
Go timer如何调度
2021/06/09 Golang