더북(TheBook)

split() 함수와 반대로 1채널 행렬 여러 개를 합쳐서 다채널 행렬 하나를 생성하려면 merge() 함수를 사용합니다. merge() 함수 원형은 다음과 같습니다.

void merge(const Mat* mv, size_t count, OutputArray dst);
void merge(InputArrayOfArrays mv, OutputArray dst);

mv

1채널 행렬을 저장하고 있는 배열 또는 벡터. 모든 행렬은 크기와 깊이가 같아야 합니다.

count

(mvMat 타입의 배열인 경우) Mat 배열의 크기

dst

출력 다채널 행렬

 

split() 함수를 이용하여 BGR 컬러 영상으로부터 B, G, R 색 채널을 분리하여 화면에 출력하는 예제 코드를 코드 10-3에 나타냈습니다. 코드 10-3에 나타난 color_split() 함수는 candies.png 파일을 3채널 컬러 영상 형식으로 불러온 후 각 채널을 분리합니다. 이때 분리된 각 채널은 CV_8UC1 타입의 그레이스케일 영상이므로 imshow() 함수를 이용하여 화면에 나타낼 수 있습니다. color_split() 함수가 정의된 소스 코드 파일과 사용된 영상 파일은 내려받은 예제 파일 중에서 ch10/ColorOp 프로젝트를 참고하기 바랍니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.