简短版本:是否有用于显示图像的Python方法,该图像实时显示像素指数和强度?因此,当我将光标移到图像上时,我会不断更新显示,例如pixel[103,214] = 198
(灰度)或pixel[103,214] = (138,24,211)
rgb?
长版:
假设我打开一个保存为ndarray的灰度图像im
并使用imshow
matplotlib 显示它:
im = plt.imread('image.png')
plt.imshow(im,cm.gray)
Run Code Online (Sandbox Code Playgroud)
我得到的是图像,在窗口框架的右下角,是像素索引的交互式显示.除了它们不完全,因为值不是整数:x=134.64 y=129.169
例如.
如果我以正确的分辨率设置显示器:
plt.axis('equal')
Run Code Online (Sandbox Code Playgroud)
x和y值仍然不是整数.
在imshow
从方法spectral
包做一个更好的工作:
import spectral as spc
spc.imshow(im)
Run Code Online (Sandbox Code Playgroud)
然后在右下角我现在有了pixel=[103,152]
例如.
但是,这些方法都没有显示像素值.所以我有两个问题:
imshow
from matplotlib
(和imshow
from scikit-image
)显示正确的(整数)像素索引吗?我正在使用带有matplotlib的ipython,我以这种方式显示图像:
(启动时间:ipython --pylab)
figure()
im = zeros([256,256]) #just a stand-in for my real images
imshow(im)
Run Code Online (Sandbox Code Playgroud)
现在,当我将光标移动到图像上时,我看到鼠标的位置显示在图形窗口的左下角.显示的数字是x =列号,y =行号.这是非常以情节为导向而不是以图像为导向.我可以修改显示的数字吗?
我可以做这些事吗?我甚至不确定将鼠标悬停测试显示小部件称为什么.谢谢!
我正在用matplotlib绘制一个2D数组.在窗口的右下角显示光标的x和y坐标.如何向此状态栏添加有关光标下方数据的信息,例如,它将显示'x,y:[440,318]数据:100'而不是'x = 439.501 y = 317.744'?我可以以某种方式抓住这个导航工具栏并编写我自己的消息进行展示吗?
我已设法为'button_press_event'添加我自己的事件处理程序,以便在终端窗口上打印数据值,但这种方法只需要点击许多鼠标并充满交互式会话.
我曾经twinx()
在剧情上得到两个y轴.但是,我希望导航栏报告第一个轴的y坐标.默认情况下,它会将位置报告给第二个轴.如何更改它以报告第一个轴,或者更好的是,报告两者?
我有这样简单的情节:
matplotlib.pyplot as plt
pt_no = [1,2,3]
coord_x = [6035763.111, 6035765.251, 6035762.801]
coord_y = [6439524.100, 6439522.251, 6439518.298]
fig, ax = plt.subplots()
ax.scatter(coord_y, coord_x, marker='x')
ax.axes.get_xaxis().set_visible(False)
ax.axes.get_yaxis().set_visible(False)
for i, txt in enumerate(pt_no):
ax.annotate(txt, (coord_y[i], coord_x[i]))
plt.show()
Run Code Online (Sandbox Code Playgroud)
但是当您在图形上移动或按住光标时,坐标显示在绘图窗口右上角的坐标看起来像6.43953e + 06.
如何让我的输入坐标完全按原样显示,例如
6439518.298而不是6.43953e + 0
?
提前致谢
我现在将matplotlib图嵌入一个简单的GUI中。在自定义图的过程中,我发现在使用图在图下添加工具栏时出现了一些显示问题NavigationToolbar2TkAgg
。现在,如果我们在底部的左侧添加工具栏,则当鼠标在绘图周围移动时,我想禁用在绘图底部的右侧显示坐标。有什么想法吗?
提前致谢。
更新:
对于一个简单的图形plt.plot(x,y)
,默认情况下,坐标会显示在底部的左侧,同时鼠标也会移动,因为工具栏(如“ home”,“ zoom”等)默认显示在顶部。在此处查看在google驱动器上截取的屏幕会更加清晰,我以黄色突出显示了坐标,该坐标可以在图像的左下方找到。感谢GWW和jgysland提醒我。
将鼠标悬停在用imshow显示的图像上时,可以将鼠标悬停在图像上以检查其RGB值。matplotlib窗口的右下角(带有工具栏的共享空间)显示了所指向像素的图像坐标和RGB值:
x = 274.99 y = 235.584 [.241, .213, .203]
Run Code Online (Sandbox Code Playgroud)
但是,当我将鼠标悬停在一个颤动图上时,它仅显示指针的x和y坐标,而没有显示所指向的2D向量的值。有没有办法让矢量值显示出来?
如果我只知道如何在matplotlib窗口中设置该文本位,则可以编写一个自定义鼠标事件处理程序。
有谁知道如何在图表下方的状态栏中修改“ x”和“ y”?
我想将其更改为“经度”和“纬度”,在matplotlib中可以吗?
matplotlib ×8
python ×7
coordinates ×1
image ×1
imshow ×1
ipython ×1
plot ×1
python-2.7 ×1
scikit-image ×1