Преобразовал изображение в массив numpy, изменил его размер, чтобы его можно было разделить на 3, и при этом он по-прежнPython

Программы на Python
Ответить
Anonymous
 Преобразовал изображение в массив numpy, изменил его размер, чтобы его можно было разделить на 3, и при этом он по-прежн

Сообщение Anonymous »

Я попробовал этот код из урока по маскировке изображения,
def show_mask(mask, ax, random_color=False):
if random_color:
color = np.concatenate([np.random.random(3), np.array([0.6])], axis=0)
else:
color = np.array([30/255, 144/255, 255/255, 0.6])
h, w = np.array(mask).shape[-2:]
print(h)print(w)
mask_image = np.array(mask).reshape(h, w, -1) * color.reshape(1, 1, -1)
ax.imshow(mask_image)

Код: Выделить всё

fig, axes = plt.subplots()

axes.imshow(pic)
ground_truth_seg = pic
show_mask(pix, axes)
# axes.title.set_text(f"Ground truth mask")
# axes.axis("off")
и выдает эту ошибку

Код: Выделить всё

ValueError: operands could not be broadcast together with shapes (1420,3,1080) (1,1,4)
Изображение и предполагаемая маска являются трехмерными, поэтому умножение матрицы (изображение маски) должно быть допустимым.
На самом деле в наборе данных есть заданная маска, это то же самое, что я собираюсь сделать?
Ошибка до этого заключалась в том, что изображение не является пустым массивом, я уже изменил размер изображения и конвертировал его в numpy, но проблема остается. Я что-то пропустил?

Подробнее здесь: https://stackoverflow.com/questions/792 ... 3-and-stil
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»