(原)python中matplot中获得鼠标点击的位置及显示灰度图像

本文介绍如何使用Matplotlib的ginput函数获取用户在图表上的点击位置,并展示如何显示灰度图像,包括设置灰度映射及利用vmin和vmax参数实现特定灰度范围的显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载请注明出处:

http://www.cnblogs.com/darkknightzh/p/6182474.html

参考网址:

http://matplotlib.org/examples/pylab_examples/ginput_demo.html

http://stackoverflow.com/questions/12760797/imshowimg-cmap-cm-gray-shows-a-white-for-128-value

 

1. 获得鼠标点击位置——使用ginput函数:

import matplotlib.pyplot as plt
import numpy as np

x=range(1,10)
y=[2*v for v in x]
print(x, y)
plt.plot(x, y)
pos=plt.ginput(3)
print(pos)

那三个红色的十字为鼠标点击的位置,显示如下:

2. 显示灰度图像:

默认imshow显示的是彩色图像:

需要显示灰度图像时,可以使用plt.get_cmap:

import matplotlib.pyplot as plt
import Image

im = Image.open("th.jpg")
plt.imshow(im, cmap = plt.get_cmap("gray"))
pos=plt.ginput(3)
print(pos)

可以使用vmin和vmax来达到和matlab的imshow中[]一样的效果,将小于vmin的量化成黑色,大于vmax的量化成白色:

plt.imshow(im, cmap = plt.get_cmap("gray"), vmin = 100, vmax = 150)

那三个红色的十字为鼠标点击的位置,显示如下:

由上面可见,直接plot的话,左下角是坐标原点;使用imshow时,是左上角为坐标原点。对于图像来说,和图像的坐标一样,不用转换,可以直接使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值