Mam macierz obrazów w przestrzeni RGB i chcę dodać kanał alfa, aby były zerami. W szczególności mam tablicę numpy
z kształtem (205, 54, 3) i chcę zmienić kształt na (205, 54, 4) z dodatkowym punktem w trzecim wymiarze, który jest równy 0,0. Która z tych operacji może to osiągnąć?Dodawanie kanału alfa do macierzy RGB przy użyciu numpy
5
A
Odpowiedz
3
1
Jeśli masz swój aktualny obraz jako zmiennej rgb następnie wystarczy użyć:
rgba = numpy.concatenate((rgb, numpy.zeros((205, 54, 1))), axis=2)
Łączy funkcja scalania rgb i jedynek tablicę razem. Funkcja Zeros tworzy tablicę zer. Ustawiamy oś na 2, co oznacza, że łączymy się z wymiarami trzecimi. Uwaga: oś jest zliczana od 0.
Masz na myśli, że chcesz tablicę z wartościami rgb i sprawić, by wartości rgb wyglądały jak '(205, 54, 4, 0)'? Proszę podać przykład, w jaki sposób powinno być wyjście. – Linus
@Linus OP oznacza wejście jest tablicą 3D o wymiarach 205 x 54 x 3. – kennytm
@kennytm Prawidłowo - wejście ma kształt (205, 54, 3) i chcę, żeby miał kształt (205, 54, 4)). Na przykład 'x.shape = (205,54,3)' i 'x [0] [0] = [255, 255, 255]' i chcę 'x [0] [0] = [255, 255, 255, 0] ". – Melanie