У меня есть набор тренировочных изображений и тестовых изображений. То, что я хочу сделать, это вставить тренировочные изображения и изменить их размер до размера 150x150. Затем, в зависимости от имени класса файла изображения, добавьте метку к массиву y, который является моим массивом меток.
Однако я получаю это сообщение об ошибке:
OpenCV(4.2.0) /io/opencv/modules/imgproc/src/resize.cpp:4045: error: (-215:Assertion failed) !ssize.empty() in function 'resize'
Соответствующая часть моего кода выглядит следующим образом:
nrows = 150
ncolumns = 150
channels = 3
def read(imgarray):
x = []
y = []
for image in imgarray:
try:
x.append(cv2.resize(cv2.imread(image, cv2.IMREAD_COLOR), (nrows,ncolumns), interpolation=cv2.INTER_CUBIC))
except Exception as e:
print(str(e))
if 'chicken' in image:
y.append(0)
elif 'cat' in image:
y.append(1)
elif 'scoop' in image:
y.append(2)
return x,y
x,y = read(train_images) #train_images is composed of ~5400 images, of mixed sizes and image formats
Может кто-нибудь сказать мне, почему CV2 не «видит» изображения и как я могу изменить размеры изображений?
edit: пример изображения с именем '../input/train/train/chicken (1438) .jpg' и формой изображения (340 594, 3)
Я использую ядро Kaggle, где мой обучающие изображения и тестовые изображения хранятся в каталоге под названием «вход». Обучающие изображения находятся во входных данных / train / train / img.jpg, а тестовые изображения - во входных данных / test / img2.jpg.
Обновление: когда я пытался отобразить изображения в train_images:
for image in imgarray:
#print(image)
image = mpimg.imread(image)
showplot = plt.imshow(image)
Я получил эту ошибку:
<built-in function imread> returned NULL without setting an error
, что странно, поскольку предыдущий код работал отлично, отображая изображения:
import matplotlib.image as mpimg
for i in train_images[0:3]:
img=mpimg.imread(i)
imgplot = plt.imshow(img)
plt.show()
Обновление: при выводе изображений, которые вызывают я получаю сообщение об ошибке:
Please check this image, has some issues ../input/train/train/scoop (1360).jpg
OpenCV(4.2.0) /io/opencv/modules/imgproc/src/resize.cpp:4045: error: (-215:Assertion failed) !ssize.empty() in function 'resize'
, поэтому кажется, что изображение, которое должно работать, по какой-то причине не работает
Это один из изображения, которые выдавали ошибку: