2024-10-03 00:29:17 发布
网友
我正在尝试访问一个png文件以添加到matplotlib绘图的背景中。我在做这样的事情:
fn = get_sample_data('Jupiterbackground.png', asfileobj=False) img = read_png(fn)
但我收到了这样一个错误: TypeError:对象似乎不是类似文件的对象。 所以我手动输入了这个png文件的路径文件名,看看它是否能工作,但仍然不能工作,所以我假设我选择的文件类型有问题。还是我使用了一种有缺陷的方法
下次请包括你的进口,我想是的
from matplotlib._png import read_png from matplotlib.cbook import get_sample_data fn = get_sample_data('Jupiterbackground.png', asfileobj=False) img = read_png(fn)
fn是一个字符串,因为您使用了asfileobj=False(您可以使用print(fn, type(fn))检查这一点,这通常是查找TypeErrors的好方法),并且read_png需要一个文件对象。您可以使用asfileobj=True或对从get_sample_data获得的字符串调用open
fn
asfileobj=False
print(fn, type(fn))
TypeErrors
read_png
asfileobj=True
get_sample_data
但我无法让read_png工作并获得“OSError:读取超过文件末尾”。但该方法没有文档记录(据我所知),其模块名以下划线开头,这在python约定中意味着它不是公共API的一部分(即:它是matplotlib内部使用的函数)
正如另一个答案所说,使用不同的功能来完成任务
我也试过了。我也犯了同样的错误。但同样的事情也可以用:
import matplotlib.image as mpimg\ img = mpimg.imread('Jupiterbackground.png')
这就给了图像数组一个numpy数组。如果需要,甚至可以使用img.astype(#dataType)更改数据类型
img.astype(#dataType)
下次请包括你的进口,我想是的
fn
是一个字符串,因为您使用了asfileobj=False
(您可以使用print(fn, type(fn))
检查这一点,这通常是查找TypeErrors
的好方法),并且read_png
需要一个文件对象。您可以使用asfileobj=True
或对从get_sample_data
获得的字符串调用open但我无法让
read_png
工作并获得“OSError:读取超过文件末尾”。但该方法没有文档记录(据我所知),其模块名以下划线开头,这在python约定中意味着它不是公共API的一部分(即:它是matplotlib内部使用的函数)正如另一个答案所说,使用不同的功能来完成任务
我也试过了。我也犯了同样的错误。但同样的事情也可以用:
这就给了图像数组一个numpy数组。如果需要,甚至可以使用
img.astype(#dataType)
更改数据类型相关问题 更多 >
编程相关推荐