如何使用Python在绘图中显示图像?
我导入了matplotlib.pyplot和NumPy 我想将桌面上的图像显示到绘图中,但我得到了一个如何使用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
类型错误
代码:
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)
)。imgimg
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的建议