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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM