python用鼠标获取图像任一点的坐标和像素值

简介: python用鼠标获取图像任一点的坐标和像素值

定义获取鼠标像素

import cv2


def get_pixel(event, x, y, flags, param):
    if event == cv2.EVENT_LBUTTONDOWN:
        # 输出像素值和坐标信息到控制台
        print('Pixel value at (', x, ', ', y, ') :', img[y, x])

        # 在图像上绘制坐标和像素值
        font = cv2.FONT_HERSHEY_SIMPLEX
        txt = 'Pixel value: ' + str(img[y, x]) + ' Coord: (' + str(x) + ', ' + str(y) + ')'
        cv2.putText(img, txt, (x, y), font, 0.5, (255, 0, 0), 2)


读取图像

img = cv2.imread('20230511200757_11189948_1_1.jpg')


显示图像并设置鼠标事件回调函数

cv2.namedWindow('Image')
cv2.setMouseCallback('Image', get_pixel)

while True:
    # 显示图像
    cv2.imshow('Image', img)

    # 等待用户按下键盘上的任意键
    k = cv2.waitKey(0)
    if k == ord('q'):
        break

cv2.destroyAllWindows()


完整代码

import cv2


def get_pixel(event, x, y, flags, param):
    if event == cv2.EVENT_LBUTTONDOWN:
        # 输出像素值和坐标信息到控制台
        print('Pixel value at (', x, ', ', y, ') :', img[y, x])

        # 在图像上绘制坐标和像素值
        font = cv2.FONT_HERSHEY_SIMPLEX
        txt = 'Pixel value: ' + str(img[y, x]) + ' Coord: (' + str(x) + ', ' + str(y) + ')'
        cv2.putText(img, txt, (x, y), font, 0.5, (255, 0, 0), 2)


# 读取图像
img = cv2.imread('20230511200757_11189948_1_1.jpg')

# 显示图像并设置鼠标事件回调函数
cv2.namedWindow('Image')
cv2.setMouseCallback('Image', get_pixel)

while True:
    # 显示图像
    cv2.imshow('Image', img)

    # 等待用户按下键盘上的任意键
    k = cv2.waitKey(0)
    if k == ord('q'):
        break

cv2.destroyAllWindows()


结果展示


使用方法

鼠标点击图中任意一点, 对话框会返回改点坐标和像素值。如果想在图中展示,点击一点后按ES即可。退出按“q"!

当然你可以标记触发点,可以继续改进!

相关文章
|
2月前
|
机器学习/深度学习 算法 PyTorch
python手把手搭建图像多分类神经网络-代码教程(手动搭建残差网络、mobileNET)
python手把手搭建图像多分类神经网络-代码教程(手动搭建残差网络、mobileNET)
46 0
|
2月前
|
机器学习/深度学习 算法 数据可视化
python/matlab图像去雾/去雨综述
python/matlab图像去雾/去雨综述
40 0
|
7天前
|
机器学习/深度学习 TensorFlow 算法框架/工具
PYTHON TENSORFLOW 2二维卷积神经网络CNN对图像物体识别混淆矩阵评估|数据分享
PYTHON TENSORFLOW 2二维卷积神经网络CNN对图像物体识别混淆矩阵评估|数据分享
36 7
|
2月前
|
机器学习/深度学习 算法 计算机视觉
如何利用Python实现图像识别中的目标检测
Python是一种功能强大的编程语言,可以用于图像识别中的目标检测。本文将介绍如何使用Python和OpenCV库实现目标检测的基本原理和方法,并提供实用的代码示例。
|
2天前
|
Python
python代码根据点坐标裁切图片
【4月更文挑战第19天】python代码根据点坐标裁切图片
10 2
|
10天前
|
机器学习/深度学习 TensorFlow 算法框架/工具
使用Python构建简单的图像识别应用
本文将介绍如何利用Python语言及其相关库来构建一个简单但功能强大的图像识别应用。通过结合OpenCV和深度学习模型,我们将展示如何实现图像的特征提取和分类,从而实现对图像中物体的自动识别和分类。无需复杂的算法知识,只需一些基本的Python编程技巧,你也可以轻松地创建自己的图像识别应用。
|
12天前
|
测试技术 Python
Python 有趣的模块之pynupt——通过pynput控制鼠标和键盘
Python 有趣的模块之pynupt——通过pynput控制鼠标和键盘
|
13天前
|
存储 数据可视化 计算机视觉
用Python进行图像模糊处理和特征提取
用Python进行图像模糊处理和特征提取
|
20天前
|
边缘计算 算法 计算机视觉
opencv 图像梯度(python)
opencv 图像梯度(python)
|
1月前
|
JSON 数据格式 Python
优秀!Python版按键精灵,电脑鼠标、键盘手势动作一键复制操作,优雅极了!
优秀!Python版按键精灵,电脑鼠标、键盘手势动作一键复制操作,优雅极了!