(原)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) 编辑 收藏 举报