То, что я пытаюсь сделать, это взять изображение размером 250 x 250 пикселей и повернуть весь текст на него на 1 с, а остальные на 0, а затем передать его через нейронную сеть. Чтобы превратить изображение в 1 и 0, я написал эту функцию:
def imageMatrix(image):
#Read the image
img = cv2.imread(image, 0)
#Get the size of the image
width, height = img.shape[:2]
#This will be fed pixel by pixel to the input of the neural network
matrix = [0]
for x in range(width):
for y in range(height):
color = img[x,y]
if ( color != 255):
matrix.append(1)
else:
matrix.append(0)
return matrix
Возвращает что-то вроде [1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0
Это действительно действительно сокращено, но мне любопытно, почему оно не печатает окончание ']'. Однако моя ОСНОВНАЯ проблема заключается в том, что я пытаюсь поместить несколько изображений в тренировочный массив ввода, и мне трудно это сделать. Я получаю сообщение «Возникла исключительная ситуация: ValueError: все входные массивы должны иметь одинаковое количество измерений».
training_inputs = np.array([imageMatrix("Blank.png")])
print(training_inputs)
training_outputs = np.array([imageMatrix("Blank.png")])
#train inputs as matrix and output as User1
#this sets up three different images
for i in range(3):
image = "Test" + str(i+1) + ".png"
np.append(training_inputs, imageMatrix(image), axis=i)
image = "Train" + str(i+1) + ".png"
np.append(training_outputs, imageMatrix(image), axis=i)
print(training_inputs)
Как бы я сделал их всех одинакового размера?
Обратите внимание, я делаю только три, потому что я пытаюсь проверить в небольшом масштабе. Как примечание, какой размер матрицы я бы хотел, чтобы они были?