서론

이 장은 Image의 채널이 어떤식으로 픽셀에서 자리잡고(위치) 있는지 확인해보고 직접 픽셀별 출력해보는 실습을 진행한다.

목차

  1. 가상의 Array를 생성하고 shape 확인해보기
    1. 2D Array
    2. 3D Array
  2. ⚠️Library별 shape 표기
  3. Real Image shape 확인해보기
    1. Print out 3-channel Image Pixel
    2. Check red-channel pixel place
    3. Check green-channel pixel place
    4. Check blue-channel pixel place
  4. Pytorch의 Shape
    1. Transpose
  5. Channel별 이미지 출력해보기
    1. cmap을 지정하지 않은 경우
    2. cmap을 지정한 경우
  6. CV2로 이미지 채널별 출력하기

가상의 Array를 생성하고 shape 확인해보기

2D Array

다음과 같은 2차원의 배열을 만들고 shape을 찍어보자.

test = np.array([
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9],
    [10, 11, 12]
])

# print(test)
# print(test.shape) # (4, 3)

결과: (4, 3)

3D Array

3차원의 배열을 만들고 찍어보자

test = np.array([
    [
        [1, 2],
        [4, 5],
        [7, 8],
        [10, 11]
    ],
    [
        [2, 3],                 
        [5, 6],
        [8, 9],
        [11, 12]
    ],
    [
        [3, 4],
        [6, 7],
        [9, 10],
        [12, 13]
    ]
])

print(test)
print(f"test.shape{test.shape}") # (2, 4, 3)

결과: (3, 4, 2)

그럼 (2, 4)의 크기를 갖는 2채널을 갖는 이미지라 가정하고 0번째 채널을 찍어보자.

print(f"0-channel: \n{test[:,:,0]}")