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"!

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

相关文章
|
24天前
|
机器学习/深度学习 算法 TensorFlow
动物识别系统Python+卷积神经网络算法+TensorFlow+人工智能+图像识别+计算机毕业设计项目
动物识别系统。本项目以Python作为主要编程语言,并基于TensorFlow搭建ResNet50卷积神经网络算法模型,通过收集4种常见的动物图像数据集(猫、狗、鸡、马)然后进行模型训练,得到一个识别精度较高的模型文件,然后保存为本地格式的H5格式文件。再基于Django开发Web网页端操作界面,实现用户上传一张动物图片,识别其名称。
53 1
动物识别系统Python+卷积神经网络算法+TensorFlow+人工智能+图像识别+计算机毕业设计项目
|
4天前
|
存储 JSON API
Python| 如何使用 DALL·E 和 OpenAI API 生成图像(1)
Python| 如何使用 DALL·E 和 OpenAI API 生成图像(1)
18 7
Python| 如何使用 DALL·E 和 OpenAI API 生成图像(1)
|
23天前
|
机器学习/深度学习 人工智能 算法
植物病害识别系统Python+卷积神经网络算法+图像识别+人工智能项目+深度学习项目+计算机课设项目+Django网页界面
植物病害识别系统。本系统使用Python作为主要编程语言,通过收集水稻常见的四种叶片病害图片('细菌性叶枯病', '稻瘟病', '褐斑病', '稻瘟条纹病毒病')作为后面模型训练用到的数据集。然后使用TensorFlow搭建卷积神经网络算法模型,并进行多轮迭代训练,最后得到一个识别精度较高的算法模型,然后将其保存为h5格式的本地模型文件。再使用Django搭建Web网页平台操作界面,实现用户上传一张测试图片识别其名称。
77 21
植物病害识别系统Python+卷积神经网络算法+图像识别+人工智能项目+深度学习项目+计算机课设项目+Django网页界面
|
23天前
|
机器学习/深度学习 人工智能 算法
鸟类识别系统Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+ResNet50算法模型+图像识别
鸟类识别系统。本系统采用Python作为主要开发语言,通过使用加利福利亚大学开源的200种鸟类图像作为数据集。使用TensorFlow搭建ResNet50卷积神经网络算法模型,然后进行模型的迭代训练,得到一个识别精度较高的模型,然后在保存为本地的H5格式文件。在使用Django开发Web网页端操作界面,实现用户上传一张鸟类图像,识别其名称。
72 12
鸟类识别系统Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+ResNet50算法模型+图像识别
|
2月前
|
机器学习/深度学习 人工智能 TensorFlow
使用Python和TensorFlow实现图像识别
【8月更文挑战第31天】本文将引导你了解如何使用Python和TensorFlow库来实现图像识别。我们将从基本的Python编程开始,逐步深入到TensorFlow的高级功能,最后通过一个简单的代码示例来展示如何训练一个模型来识别图像。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的信息。
141 53
|
4天前
|
监控 Python
用 Python 操作你的鼠标和键盘
用 Python 操作你的鼠标和键盘
16 2
|
2月前
|
算法 计算机视觉 Python
python利用opencv进行相机标定获取参数,并根据畸变参数修正图像附有全部代码(流畅无痛版)
该文章详细介绍了使用Python和OpenCV进行相机标定以获取畸变参数,并提供了修正图像畸变的全部代码,包括生成棋盘图、拍摄标定图像、标定过程和畸变矫正等步骤。
python利用opencv进行相机标定获取参数,并根据畸变参数修正图像附有全部代码(流畅无痛版)
|
2月前
|
机器学习/深度学习 人工智能 TensorFlow
利用Python和TensorFlow实现简单图像识别
【8月更文挑战第31天】在这篇文章中,我们将一起踏上一段探索人工智能世界的奇妙之旅。正如甘地所言:“你必须成为你希望在世界上看到的改变。” 通过实践,我们不仅将学习如何使用Python和TensorFlow构建一个简单的图像识别模型,而且还将探索如何通过这个模型理解世界。文章以通俗易懂的方式,逐步引导读者从基础到高级,体验从编码到识别的整个过程,让每个人都能在AI的世界中看到自己的倒影。
|
2月前
|
机器学习/深度学习 自动驾驶 计算机视觉
使用Python实现简单的图像识别
【8月更文挑战第31天】在本文中,我们将探索如何使用Python语言和其强大的库来创建一个简单的图像识别系统。通过逐步指导,我们将了解如何准备图像数据,选择和训练模型,以及评估我们的成果。无论你是机器学习的初学者还是希望扩展你的技能集,这篇文章都将为你提供实用的知识和代码示例。
|
2月前
|
机器学习/深度学习 人工智能 算法框架/工具
使用Python构建简单神经网络进行图像识别
【8月更文挑战第31天】在本文中,我们将探索如何利用Python编程语言和深度学习框架Keras来搭建一个简单的神经网络模型。通过这个模型,我们能够实现基础的图像识别功能。文章将引导读者了解神经网络的基本概念,手把手教学如何准备数据集、构建网络结构、训练模型以及评估结果。最终,我们将看到即使是简单的神经网络也能在处理图像识别任务时展现出惊人的能力。