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

转载请注明出处:

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时,是左上角为坐标原点。对于图像来说,和图像的坐标一样,不用转换,可以直接使用。

posted on 2016-12-15 11:16  darkknightzh  阅读(20725)  评论(5编辑  收藏  举报

导航