我很久以前做了一个泡菜,想使用里面的东西,但我必须确保里面有准确数量的[8752 个泡菜图像]。我尝试了常用的 python 函数,如
len()
但失败了。但是当我尝试像数组一样打印其中一个内容时,它确实输出了一个看起来像图像数组的数组,并且显然无法再次转换为可见图像(如 .jpeg)。
如何确保里面有所有图像?
我尝试按数组编号打印图像,它输出一个数组数组,我尝试使用“len”检查 python 中检查大小的常用方法,但它输出 1080 而不是预期的 8752 图像内容。
编辑1:
#load pickle
with open("rivergate_image.pkl", "rb") as f:
river_images = pickle.load(f)
print(river_images[0])
print(len(river_images))
编辑2:
### print(river_images) output
[[[ 27 147 145]
[ 30 150 148]
[ 28 148 146]
...
[ 61 178 169]
[ 63 177 169]
[ 65 176 167]]
[[ 24 144 142]
[ 24 144 142]
[ 24 144 142]
...
[ 59 179 170]
[ 63 177 169]
[ 65 176 169]]
[[ 32 152 150]
...
...
[ 37 142 145]
[ 36 141 144]
[ 35 140 143]]]
Output is truncated. View as a scrollable element or open in a text editor. Adjust cell output settings...
看起来您将图像作为 NumPy 数组单独转储到文件中。
尝试加载并计数直到文件末尾。示例:
import pickle
with open('test.pkl', 'wb') as f:
for c in 'foobar':
pickle.dump(c, f)
with open('test.pkl', 'rb') as f:
n = 0
try:
while True:
print(repr(pickle.load(f)))
n += 1
except EOFError:
print(n)
输出(在线尝试!):
'f'
'o'
'o'
'b'
'a'
'r'
6