Matplotlib imshow 缩放功能?
我有几个(27)图像以二维数组表示,我正在使用 imshow() 查看它们。我需要放大每张图像中完全相同的位置。我知道我可以手动缩放,但这很乏味而且不够精确。有没有办法以编程方式指定要显示的图像的特定部分而不是整个图像?
I have several (27) images represented in 2D arrays that I am viewing with imshow(). I need to zoom in on the exact same spot in every image. I know I can manually zoom, but this is tedious and not precise enough. Is there a way to programmatically specify a specific section of the image to show instead of the entire thing?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用 plt.xlim 和 plt.ylim 设置要绘制的区域:
You could use
plt.xlim
andplt.ylim
to set the region to be plotted:如果不需要图像的其余部分,您可以定义一个函数,在所需的坐标处裁剪图像,然后显示裁剪后的图像。
注意:这里的“x”和“y”是视觉上的x和y(分别是图像上的水平轴和垂直轴),这意味着它与<的真实x(行)和y(列)相比是反转的一个 href="http://en.wikipedia.org/wiki/NumPy" rel="nofollow">NumPy 数组。
If you do not need the rest of your image, you can define a function that crop the image at the coordinates you want and then display the cropped image.
Note: here 'x' and 'y' are the visual x and y (horizontal axis and vertical axis on the image, respectively), meaning that it is inverted compared to the real x (row) and y (column) of the NumPy array.