Обработка массивов 3D numpy как 3D-изображения - PullRequest
0 голосов
/ 05 августа 2020

Я создаю массивы 3D numpy, которые я надеюсь рассматривать как объемы трехмерных изображений. Я не хочу использовать пакет PIL, поскольку мне все еще нужно работать с массивами, но PIL преобразует их в объекты Image.

Я понимаю, что любой 2D-фрагмент 3D-объема можно рассматривать как изображение, и должен иметь три измерения, скажем (437, 268, 3), где 3 - значения RGB. Однако я не получаю этого, когда использую image.shape, я получаю (437, 268).

Может ли кто-нибудь указать мне в правильном направлении?

Ура, Амир

1 Ответ

0 голосов
/ 06 августа 2020

Поскольку я собирался использовать библиотеку imageha sh для вычисления значений ha sh срезов изображения в z-направлении, я в итоге сделал следующее:

original это мой исходный массив original_pil это мой Image объект массива original

import imagehash

import PIL

original_pil = np.zeros((original.shape[0], original.shape[1], original.shape[2]))

hash_diff = np.zeros((original.shape[2]))

for i in range(original.shape[2]):

original_pil[:,:,i] = np.array(Image.fromarray(original[:,:,i]).convert('L'))

hash_diff[i] = str(hash1 - imagehash.whash(Image.fromarray(original_pil[:,:,i])))

...