opencv鼠标事件练习:图片取色器实现

opencv的鼠标事件格式比较固定:调用setMouseCallback函数

setMouseCallback(窗口名, 鼠标事件响应函数, 传入响应函数的参数)

响应函数格式如下:

functionName(event, x, y, flag, param)
其中event flag 是鼠标事件标志,详见官方文档
(x,y)为鼠标在窗口中点击的位置,与数组坐标同参考系
param是传入参数

import cv2 as cv

def tirgger_left_clicked(event, x, y, flags, param):
    if event == cv.EVENT_LBUTTONDOWN:
        print('coordinate is :', (x, y))
        print('In BGR is:' ,param[0][y][x])
        print('In HSV is:' ,param[1][y][x] ,'\n')


if __name__ == '__main__':
    img = cv.imread('test01.jpg')
    img_hsv = cv.cvtColor(img, cv.COLOR_BGR2HSV)
    cv.namedWindow('image', cv.WINDOW_AUTOSIZE)

    flag = True
    while(flag):
        cv.imshow('image', img)
        cv.setMouseCallback('image', tirgger_left_clicked, [img ,img_hsv])
        flag = (cv.waitKey(20) & 0xFF != 27)
    cv.destroyWindow('image')

运行结果:
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值