基于python鼠标点击获取当前像素的RGB和HSV对应值

前言

  有时候在做图像处理时,常常需要获得一些像素的RGB和HSV对应的数值,经常需要去一些网站或者ps工具获得,比较繁琐,索性编写一个程序,可以通过鼠标点击获取当前像素的RGB和HSV对应值。

代码如下:

import cv2

# 鼠标事件回调函数
def on_mouse(event, x, y, flags, param):
    if event == cv2.EVENT_LBUTTONDOWN:
        b, g, r = img[y][x]
        print('Pixel ({}, {}): RGB({}, {}, {})'.format(x, y, r, g, b))

        h, s, v = img_hsv[y][x]
        print('Pixel ({}, {}): HSV({}, {}, {})'.format(x, y, h, s, v))
        print()

# 读取图像
img = cv2.imread(r'D:\taobaokehu\zhenfu\fengeshipin\1.png')

# 转换为HSV
img_hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)

# 创建窗口并绑定鼠标事件
cv2.namedWindow('image')
cv2.setMouseCallback('image', on_mouse)

while True:
    # 在窗口中显示图像
    cv2.imshow('image', img)

    key = cv2.waitKey(1)
    if key == ord('q'):
        break

# 关闭窗口
cv2.destroyAllWindows()

讲解

  在这个代码中,我们首先定义了一个on_mouse函数作为鼠标事件的回调函数。当鼠标左键被按下时,它会获取对应点的RGB和HSV值并输出。

  然后,我们读取了图像并把它转换为HSV颜色空间。创建了一个窗口并绑定鼠标事件。当用户单击窗口中的某个位置时,回调函数就会被调用,并在控制台输出对应点的RGB和HSV值。

  最后,在一个无限循环中,我们将图像显示在窗口中,并等待用户按下q键以退出程序。当程序终止时,关闭窗口。

  运行这段代码,并在窗口中单击某一个位置,你就可以在控制台上看到对应点的RGB和HSV值了。
在这里插入图片描述

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小张Tt

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值