Условное изменение значений пикселей в изображении RGB с последующим удалением каналовPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Условное изменение значений пикселей в изображении RGB с последующим удалением каналов

Сообщение Anonymous »

Я просто хочу сравнить пиксель изображения: если этот пиксель розовый (значение R = 0,502, значение G = 0,0, значение B = 0,502), то измените его на черный цвет, иначе измените его на белый цвет. . После этого я хочу удалить каналы, чтобы получить только тензор формы (512,512).
Этот элемент getitem находится внутри моего класса набора данных.
Код:

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

    def __getitem__(self, index):
img = Image.open(self.images[index]).convert("RGB") # this is one image
mask = Image.open(self.masks[index]).convert("RGB") # this is the corresponding mask
mask = self.transform_tensor(mask) # tensor is (3,512,512) shape
mask = torch.where((mask[0, :, :] == 0.502) & (mask[1, :, :] == 0.0) & (mask[2, :, :] == 0.502), torch.tensor([0.0, 0.0, 0.0]), torch.tensor([1.0, 1.0, 1.0])) # error
mask = self.transform_to_image(mask)
mask.show()
return self.transform_image(img), self.transform_mask(mask)

Ошибка выполнения: размер тензора a (512) должен совпадать с размером тензора b (3) в неодноэлементном измерении 1.
Ошибка: Неожиданный тип(ы): (bool, Tensor, Tensor)

Подробнее здесь: https://stackoverflow.com/questions/791 ... -the-chann
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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