Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Python在绘图中显示图像?_Python_Image_Matplotlib - Fatal编程技术网

如何使用Python在绘图中显示图像?

如何使用Python在绘图中显示图像?,python,image,matplotlib,Python,Image,Matplotlib,我导入了matplotlib.pyplot和NumPy 我想将桌面上的图像显示到绘图中,但我得到了一个类型错误 代码: img = (image) ( here do we need to give the location of the file or the file directly) imshow(img, extent=[-25,25,-25,25], cmap = cm.bone) colorbar() Error: TypeError: Image data can not

我导入了matplotlib.pyplot和NumPy

我想将桌面上的图像显示到绘图中,但我得到了一个
类型错误

代码:

img = (image) ( here do we need to give the location of the file or the file directly)

imshow(img, extent=[-25,25,-25,25], cmap = cm.bone)
colorbar()


Error: TypeError: Image data can not convert to float

我正在使用Pycharm作为我的ide。

您对我的ide有点模棱两可

这里我们需要给出文件的位置还是直接给出文件的位置

不,你没有。您需要使用一些图像库来读取图像
img=“C:\image.jpg”
不读取图像

例如,要读取“png”图像,您可以:

# Copypaste from docs
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import numpy as np
img=mpimg.imread('myimage.png')
# end
# from now on you can use img as an image, but make sure you know what you are doing!
imgplot=plt.imshow(img)
plt.show()

在matplotlib的文档中阅读更多内容

您对此有点模棱两可

这里我们需要给出文件的位置还是直接给出文件的位置

不,你没有。您需要使用一些图像库来读取图像
img=“C:\image.jpg”
不读取图像

例如,要读取“png”图像,您可以:

# Copypaste from docs
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import numpy as np
img=mpimg.imread('myimage.png')
# end
# from now on you can use img as an image, but make sure you know what you are doing!
imgplot=plt.imshow(img)
plt.show()

更多信息,请访问matplotlib的文档

是否为
img
anumpy数组

如果您使用pillow等读取图像并拥有图像对象,则必须从中获取numpy数组(
img.getdata()

X:类似数组的,形状(n,m)或(n,m,3)或(n,m,4)

以X轴显示图像到当前轴。X可以是浮点数组,也可以是 uint8数组或PIL映像。如果X是一个数组,它可以具有 以下形状:

MxN–亮度(灰度,仅浮动阵列)MxNx3–RGB(浮动或 uint8阵列)MxNx4–RGBA(浮点或uint8阵列MxNx3和MxNx4浮点阵列的每个组件的值应在0.0到1.0的范围内


要么规范化img,使其介于0.0和1.0之间,要么将其转换为uint8(
img=np.array(img,dtype=np.uint8)
)。

img
img
numpy数组的类型正确吗

如果您使用pillow等读取图像并拥有图像对象,则必须从中获取numpy数组(
img.getdata()

X:类似数组的,形状(n,m)或(n,m,3)或(n,m,4)

以X轴显示图像到当前轴。X可以是浮点数组,也可以是 uint8数组或PIL映像。如果X是一个数组,它可以具有 以下形状:

MxN–亮度(灰度,仅浮动阵列)MxNx3–RGB(浮动或 uint8阵列)MxNx4–RGBA(浮点或uint8阵列MxNx3和MxNx4浮点阵列的每个组件的值应在0.0到1.0的范围内


要么规范化img,使其介于0.0和1.0之间,要么将其转换为uint8(
img=np.array(img,dtype=np.uint8)
)。

我删除了matlab标记,因为您的问题似乎与matlab无关。另外,看看
imread
。你有没有试过谢谢Andras和avstenit,它确实可以与“imread”一起使用。干杯:)我去掉了matlab标签,因为你的问题似乎与matlab无关。另外,看看
imread
。你有没有试过谢谢Andras和avstenit,它确实可以与“imread”一起使用。干杯:)请注意,我认为您实际上不需要为此导入numpy,我有一个预感,
imread
imshow
已经在
matplotlib.pyplot
中。(但你需要
mpimg.imshow
否则。)@moooeeep可能是的。前4行是来自文档的复制粘贴,下一行是来自OP的复制粘贴。我猜OPs行中有错误。请注意,我认为您实际上不需要为此导入numpy,我有一种预感,
imread
imshow
已经在
matplotlib.pyplot
中。(但你需要
mpimg.imshow
否则。)@moooeeep可能是的。前4行是来自文档的复制粘贴,下一行是来自OP的复制粘贴。我猜错误在OPs行。是的,当我使用JPG文件时,它给了我一个值错误,它告诉我使用枕头处理不同类型的文件。它给了我一个只使用PNGyes的建议。当我使用JPG文件时,它给了我一个值错误。它告诉我使用枕头来处理不同类型的文件。它给了我一个只使用PNG的建议