Opencv error语言 - python中的Imread语句



我编译了这段代码:

import numpy as np
import cv2   as cv
simps = np.zeros((8000,128,128,3))
j = 0
for i in range(1000,9001):
print(j)
if   (i % 10 == i and i != 10):
filename = '/content/cropped/' + str(i) + '.png'
elif (i % 100 == i and i != 100):
filename = '/content/cropped/' + str(i) + '.png'
elif (i % 1000 == i and i != 1000):
filename = '/content/cropped/' + str(i) + '.png'
elif (i % 10000 == i and i != 10000):
filename = '/content/cropped/' + str(i) + '.png'
print(filename)
print(type(filename))
simps[j,:,:,:] = cv.imread(filename)
print(simps[j,:,:,:])
simps[j,:,:,:] = cv.resize(simps[j,:,:,:],(128,128));
j += 1
simps = simps.astype('uint8')
np.save('/content/simps.npy',simps)

但是得到这个错误:

17         print(filename)
18         print(type(filename))
---> 19         simps[j,:,:,:] = cv.imread(filename)
20         print(simps[j,:,:,:])
21         simps[j,:,:,:] = cv.resize(simps[j,:,:,:],(128,128));
ValueError: could not broadcast input array from shape (200,200,3) into shape (128,128,3)

此错误cv.imread()但我的代码是正确的. 我的代码在 Colab 上编译,但是当我在我的系统上编译时,这有效。 你知道那个错误吗?

您正在尝试在调整数组大小之前填充数组,请尝试在第 19 行

simps[j,:,:,:] = cv.resize(cv.imread(filename),(128,128))

最新更新