У меня есть список серых изображений. Я прочитал их с помощью этого кода:
import glob
import cv2
folders = glob.glob(r'path\to\images\*')
imagenames_list = []
for folder in folders:
for f in glob.glob(folder+'/*.png'):
imagenames_list.append(f)
read_images = []
for image in imagenames_list:
read_images.append(cv2.imread(image, cv2.IMREAD_GRAYSCALE))
Теперь я пытаюсь изменить размер всех изображений в read_images
с помощью этой функции:
def resize_images(img, new_width, new_height):
size = (new_width, new_height)
resized_img = cv2.resize(img, size)
return resized_img
Я применил функцию следующим образом :
resized_img = [resize_images(img, new_width=128, new_height=32) for img in read_images]
И Python вернул такую ошибку:
---------------------------------------------------------------------------
error Traceback (most recent call last)
<ipython-input-21-9352534280fd> in <module>
1 #Anwenden der Funktion auf die Liste col_image
----> 2 resized_img = [resize_images(img, new_width=128, new_height=32) for img in read_images]
<ipython-input-21-9352534280fd> in <listcomp>(.0)
1 #Anwenden der Funktion auf die Liste col_image
----> 2 resized_img = [resize_images(img, new_width=128, new_height=32) for img in read_images]
<ipython-input-20-e4d9e7d9b2fa> in resize_images(img, new_width, new_height)
2 def resize_images(img, new_width, new_height):
3 size = (new_width, new_height)
----> 4 resized_img = cv2.resize(img, size)
5 return resized_img
error: OpenCV(4.2.0) C:\projects\opencv-python\opencv\modules\imgproc\src\resize.cpp:4045: error: (-215:Assertion failed) !ssize.empty() in function 'cv::resize'
Может кто поможет? Какая дополнительная информация вам нужна? Я уже применил эту функцию к списку меньшего количества изображений (около 650 изображений), и она сработала. Сейчас в этом списке более 180к изображений. Кроме того, размеры изображений разные, но они также были другими для других 650 изображений.