Я довольно новичок в Python, и я попытался использовать встроенные функции, такие как добавление (в список), чтобы сделать это, но я не уверен, как это сделать.
У меня есть12 матриц 1x3, в которых я хочу объединить их все для создания матриц 12x3.
У меня есть функция, которая вычисляет направление света на изображении (возвращает массив 1x3)
def comp_light(img, mask):
"""
assume the viewer is at (0, 0, 1)
"""
light_direct=[]
#Calculate centroid of gray image
centroid = compute_centroid(img)
#Calculate centroid of mask
mask_centroid = compute_centroid(mask)
mask_radius = compute_radius(mask, mask_centroid)
r = mask_radius
dx = centroid[1]-mask_centroid[1]
dy = centroid[0]-mask_centroid[0]
dy = -dy
N = np.array([dx/r,dy/r,math.sqrt(r*r - dx*dx - dy*dy)/r])
R = np.array([0,0,1])
L = 2*np.dot(N,R)*N-R
light_direct.append(L)
return light_direct
И затем у меня есть данные для 12 изображений (оттенки серого и маска), и яЯ хочу использовать эти два для вычисления световых направлений.
for i in range(12):
light = comp_light(gray['chrome'][i],mask['chrome'])
print(light)
Вывод, который я получаю из этого цикла:
[array([0.44179545, 0.44251159, 0.78038469])]
[array([0.03981791, 0.1526196 , 0.98748255])]
[array([-0.04485713, 0.17308602, 0.98388468])]
[array([-0.09494382, 0.43736653, 0.89425734])]
[array([-0.30896139, 0.48596268, 0.81754702])]
[array([-0.09564658, 0.56019186, 0.82282247])]
[array([0.24524103, 0.40670384, 0.88002774])]
[array([0.08200615, 0.4203557 , 0.90364599])]
[array([0.20189239, 0.34563383, 0.91639332])]
[array([0.0855834 , 0.34030184, 0.93641345])]
[array([0.11078827, 0.05101894, 0.99253364])]
[array([-0.1302858 , 0.35921852, 0.92411453])]
Как мне объединить все эти матрицы в Python?