使用python+opencv实时显示图像中每一点坐标与像素值

本文介绍如何使用Python和OpenCV实现一个功能,即在实时显示图像的同时,通过鼠标点击获取图像中每一点的坐标和对应像素值。程序简单易用,点击图像任意位置即可在左下角看到详细信息。
部署运行你感兴趣的模型镜像

使用python+opencv实时显示图像中每一点坐标与像素值

之前使用halcon做图形阈值处理时,发现通过鼠标能很方便的查看图像中的每一点坐标和对应像素值,非常好用,后来使用opencv时,发现无法直接查看图像中的某点像素值,很难直观从像素数值的变化上来感受图像的变化,于是就写了一个简单的程序,用于实时查看图像像素大小。

程序如下

import cv2

def get_point(event, x, y, flags, param):
    # 鼠标单击事件
    if event == cv2.EVENT_LBUTTONDOWN:
        # 输出坐标
        print('坐标值: ', x, y)
        # 在传入参数图像上画出该点
        #cv2.circle(param, (x, y), 1, (255, 255, 255), thickness=-1)
        img = param.copy()
        # 输出坐标点的像素值
        print('像素值:',param[y][x]) # 注意此处反转,(纵,横,通道)
        # 显示坐标与像素
        text = "("+str(x)+','+str(y)+')'+str(param[y][x])
        cv2.putText(img,text,(0,param.shape[0]),cv2.FONT_HERSHEY_PLAIN,1.5,(0,0,255),1)
        cv2.imshow('image', img)
        cv2.waitKey(0)

if __name__ == "__main__":
    # 定义两幅图像
    image = cv2.imread('./answer sheet/images/example_test.png')
    # image = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)

    # 定义两个窗口 并绑定事件 传入各自对应的参数
    cv2.namedWindow('image')
    cv2.setMouseCallback('image', get_point, image)

    # 显示图像
    while(True):
        cv2.imshow('image', image)
        if cv2.waitKey(20) & 0xFF == 27:
            break

效果图:

随便点击图中一点,就能在图中左下角显示该点的坐标值和像素值。
在这里插入图片描述

您可能感兴趣的与本文相关的镜像

Python3.11

Python3.11

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值