Я пытаюсь преобразовать многомерный массив в двумерный массив

#python #arrays #image-processing #conv-neural-network

Вопрос:

Это мой код:

 segmented_characters = [cv2.imread(file) for file in glob.glob('extracted_images/*.png')]
segmented_characters = np.array(segmented_characters)

gray_segmented_characters = [cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) for image in segmented_characters]
gray_segmented_characters = np.array(gray_segmented_characters)

gray_segmented_characters = gray_segmented_characters.reshape(7684,1600)
 

и мое сообщение об ошибке :

 gray_segmented_characters = gray_segmented_characters.reshape(7684,1600)
 

Ошибка значения: не удается преобразовать массив размером 12307200 в форму (7684,1600)

Ответ №1:

Сообщение об ошибке указывает на то, что ваши reshape размеры (7684, 1600) не охватывают весь размер массива, который составляет 12307200.

Возможным решением является изменение размеров формы на (7692, 1600) :

 gray_segmented_characters = gray_segmented_characters.reshape(7692,1600)
 

Или вы можете обрезать исходное изображение, чтобы оно соответствовало вашим требуемым размерам