Я создал программу, но она не работает, подробнее позже.
Ошибка
File "computer path", line 40, in <module>
mix=np.concatenate((mix_ver, mix_hoz), axis=0)
File "<__array_function__ internals>", line 5, in concatenate
ValueError: all the input array dimensions for the concatenation axis must match exactly, but along dimension 1, the array at index 0 has size 128 and the array at index 1 has size 1024
Мой код
# Import libs
import cv2
import numpy as np
# Final block size
blockSize = (128, 128)
# Air
air_small = cv2.imread('air.png', 1)
air = cv2.resize(air_small, blockSize)
# Dirt
dirt_small = cv2.imread('dirt.png', 1)
dirt = cv2.resize(dirt_small, blockSize)
# Grass
grass_small = cv2.imread('grass.png', 1)
grass = cv2.resize(grass_small, blockSize)
# Make mix ver
mix_ver=np.concatenate((grass, dirt),axis=0)
for m in range(2):
mix_ver=np.concatenate((air, mix_ver),axis=0)
for m in range(4):
mix_ver=np.concatenate((mix_ver, dirt), axis=0)
# Make mix hoz
mix_hoz=np.concatenate((grass, dirt),axis=1)
for m in range(2):
mix_hoz=np.concatenate((air, mix_hoz),axis=1)
for m in range(4):
mix_hoz=np.concatenate((mix_hoz, dirt), axis=1)
# Final Mix
mix=np.concatenate((mix_ver, mix_hoz), axis=0)
# Show output
cv2.imshow('final', mix)
Что я думаю
Насколько я знаю, это часть в конце, которая вызывает проблему, делая ее вдвое больше по оси x , но не на Y. Это правильно?
Примечания
- Почему я меняю размер? Я изменяю размер, потому что мои изображения 64x64.
- Почему я объединяю? Я хочу сложить их вместе, чтобы создать 2D-область.