< * 채널 분리(Split)과 병합(Merge) * >
◆ 채널 분리(Split)과 병합(Merge)은 영상이나 이미지의 색상 공간의 채널을 분리하거나 합치기 위해 사용한다.
- 예를 들어, BGR 색상 공간을 B(Blue), G(Green), R(Red)로 분리해 단일 채널을 가진 배열로 반환할 수 있다.
◆ 분리된 채널의 값을 변경하거나 순서를 변경해, GB(R/2) 공간을 만들거나 새로운 색상 공간으로 변경할 수도 있다..
----< 예제 : Split-Merge.py >-------------------------------------------------------------------
import cv2
src = cv2.imread("Image/lena.jpg", cv2.IMREAD_COLOR)
b, g, r = cv2.split(src)
inverse = cv2.merge((r, g, b))
cv2.imshow("b", b)
cv2.imshow("g", g)
cv2.imshow("r", r)
cv2.imshow("inverse", inverse)
cv2.waitKey()
--------------------------------------------------------------------------------------------------------
▶ b, g, r = cv2.split(src)
: 채널 분리 함수(cv2.split)로 이미지에서 채널을 분리할 수 있다.
▶ mv = cv2.split(src)
: 입력 이미지(src)에서 채널을 분리해 단일 채널 이미지 배열(mv)을 생성한다.
- mv는 목록(list) 형식으로 반환되며, b, g, r 등으로 형태로 각 목록의 원솟값을 변수로 지정할 수 있다.
- 분리된 채널의 순서에 맞게 각 변수에 할당된다.
▶ inverse = cv2.merge((r, g, b))
: 채널 병합 함수(cv2.merge)로 분리된 채널을 병합해 하나의 이미지로 합칠 수 있다.
▶ dst = cv2.merge(mv)
: 단일 채널 이미지 배열(mv)를 병합해 출력 이미지(dst)를 생성한다.
- 채널을 변형한 뒤에 다시 합치거나 순서를 변경해 병합할 수 있다.
- 순서가 변경될 경우, 원본 이미지와 다른 색상으로 표현될 수 있다.