2016-09-22 3 views
5

RGB 공간에 이미지 배열이 있고 알파 채널을 모두 0으로 추가하려고합니다. 특히, numpy 모양의 배열 (205, 54, 3)이 있고 모양을 (205, 54, 4)로 변경하려는 경우 세 번째 차원의 추가 지점이 모두 0.0입니다. 어떤 수치스러운 작업이 이것을 달성할까요?numpy를 사용하여 RGB 배열에 알파 채널 추가

+0

rgb 값을 가진 배열을 원하고 rgb 값을'(205, 54, 4, 0)'와 같이 나타내시겠습니까? 결과가 어떻게되어야하는지 예를 게시하십시오. – Linus

+0

@Linus OP는 입력 값이 205 x 54 x 3 차원 크기의 3D 배열임을 의미합니다. – kennytm

+0

@kennytm 정확함 - 입력에 모양 (205, 54, 3)이 있고 모양을 (205, 54, 4)). 예를 들어'x.shape = (205,54,3)'와'x [0] [0] = [255, 255, 255]''x [0] [0] = [255, 255, 255, 0]. – Melanie

답변

3

당신은 복수의 배열에 가입 스택 기능 중 하나 (stack/hstack/vstack/dstack/concatenate)를 사용할 수 있습니다. 당신은 RGB 변수로 현재 이미지가있는 경우

numpy.dstack((your_input_array, numpy.zeros((25, 54)))) 
+0

감사합니다. 나는 그 중 몇 가지를 시도했지만 올바른 것을 찾지 못했습니다. 'np.dstack'은 의미가 있습니다. – Melanie

1

는 단지 사용

rgba = numpy.concatenate((rgb, numpy.zeros((205, 54, 1))), axis=2) 

연결하여 기능을 병합 RGB 1과 0 배열을 함께. 제로 함수는 0의 배열을 만듭니다. 우리는 thirde 차원에서 병합한다는 것을 의미하는 축을 2로 설정합니다. 참고 : 축은 0에서부터 계산됩니다.

관련 문제