相关疑难解决方法(0)

Python中图像的交互式像素信息?

简短版本:是否有用于显示图像的Python方法,该图像实时显示像素指数和强度?因此,当我将光标移到图像上时,我会不断更新显示,例如pixel[103,214] = 198(灰度)或pixel[103,214] = (138,24,211)rgb?

长版:

假设我打开一个保存为ndarray的灰度图像im并使用imshowmatplotlib 显示它:

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]例如.

但是,这些方法都没有显示像素值.所以我有两个问题:

  1. 可以强制imshowfrom matplotlib(和imshowfrom scikit-image)显示正确的(整数)像素索引吗?
  2. 可以扩展这些方法中的任何一个以显示像素值吗?

python image image-processing matplotlib scikit-image

24
推荐指数
2
解决办法
2万
查看次数

在matplotlib图窗口(使用imshow)中,如何删除,隐藏或重新定义鼠标的显示位置?

我正在使用带有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 =行号.这是非常以情节为导向而不是以图像为导向.我可以修改显示的数字吗?

  1. 我的第一选择是显示x =行号*标量,y =列号*标量
  2. 我的第二选择是显示x =行号,y =列号
  3. 我的第三个选择是根本不显示鼠标位置的数字

我可以做这些事吗?我甚至不确定将鼠标悬停测试显示小部件称为什么.谢谢!

python matplotlib ipython

12
推荐指数
1
解决办法
5751
查看次数

添加信息到matplotlib导航工具栏/状态栏?

我正在用matplotlib绘制一个2D数组.在窗口的右下角显示光标的x和y坐标.如何向此状态栏添加有关光标下方数据的信息,例如,它将显示'x,y:[440,318]数据:100'而不是'x = 439.501 y = 317.744'?我可以以某种方式抓住这个导航工具栏并编写我自己的消息进行展示吗?

我已设法为'button_press_event'添加我自己的事件处理程序,以便在终端窗口上打印数据值,但这种方法只需要点击许多鼠标并充满交互式会话.

python matplotlib

10
推荐指数
1
解决办法
3840
查看次数

Matplotlib光标值有两个轴

我曾经twinx()在剧情上得到两个y轴.但是,我希望导航栏报告第一个轴的y坐标.默认情况下,它会将位置报告给第二个轴.如何更改它以报告第一个轴,或者更好的是,报告两者?

python matplotlib

9
推荐指数
2
解决办法
9088
查看次数

matplotlib坐标格式

我有这样简单的情节:

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

提前致谢

python matplotlib coordinates

6
推荐指数
2
解决办法
2966
查看次数

禁用在matplotlib图中显示坐标

我现在将matplotlib图嵌入一个简单的GUI中。在自定义图的过程中,我发现在使用图在图下添加工具栏时出现了一些显示问题NavigationToolbar2TkAgg。现在,如果我们在底部的左侧添加工具栏,则当鼠标在绘图周围移动时,我想禁用在绘图底部的右侧显示坐标。有什么想法吗?

提前致谢。

更新:

对于一个简单的图形plt.plot(x,y),默认情况下,坐标会显示在底部的左侧,同时鼠标也会移动,因为工具栏(如“ home”,“ zoom”等)默认显示在顶部。在此处查看在google驱动器上截取的屏幕会更加清晰,我以黄色突出显示了坐标,该坐标可以在图像的左下方找到。感谢GWW和jgysland提醒我。

python plot matplotlib

3
推荐指数
1
解决办法
1735
查看次数

如何在Matplotlib中控制鼠标悬停文本

将鼠标悬停在用imshow显示的图像上时,可以将鼠标悬停在图像上以检查其RGB值。matplotlib窗口的右下角(带有工具栏的共享空间)显示了所指向像素的图像坐标和RGB值:

x = 274.99  y = 235.584  [.241, .213, .203]
Run Code Online (Sandbox Code Playgroud)

但是,当我将鼠标悬停在一个颤动图上时,它仅显示指针的x和y坐标,而没有显示所指向的2D向量的值。有没有办法让矢量值显示出来?

如果我只知道如何在matplotlib窗口中设置该文本位,则可以编写一个自定义鼠标事件处理程序。

matplotlib imshow

3
推荐指数
1
解决办法
1063
查看次数

在状态栏中更改坐标文本的格式

有谁知道如何在图表下方的状态栏中修改“ x”和“ y”?

我想将其更改为“经度”和“纬度”,在matplotlib中可以吗?

在此处输入图片说明

python matplotlib python-2.7

2
推荐指数
1
解决办法
989
查看次数