轉載請注明出處:
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時,是左上角為坐標原點。對於圖像來說,和圖像的坐標一樣,不用轉換,可以直接使用。