[Python] OpenCV 이미지 채널 별 분리



개인 프로젝트에도 시간을 할애해야하건만 출장이다 회사 프로젝트다 핑계거리가 많아

아무래도 점점 나태해져 가는 듯 하다.

파이썬을 이용한 주식 분석 및 자동 매매 프로그램이 최종 목표이기에 우선은 이미지 처리에
관심을 가져보자.

이미지 처리를 위해서 영상을 회색조로 바꾸어 처리하기도 하지만 R,G,B 각 채널별로 분리를 하기도 한다.

우선 코드를 보자

import cv2

img = cv2.imread('masala.jpg', cv2.IMREAD_COLOR)

cv2.imshow('img', img)

cv2.waitKey(0)

b, g, r = cv2.split(img)

cv2.imshow('img_b', b)
cv2.imshow('img_g', g)
cv2.imshow('img_r', r)
cv2.waitKey(0)
cv2.destroyAllWindows()

imread 함수를 이용하여 이미지를 읽어 온 후

한번 출력하고 waitKey 함수를 이용해 키보드의 입력을 기다린다.

키보드 입력이 들어오면 읽었던 이미지를 R,G,B 3개의 채널로 분리한 후

각각 채널별로 이미지 출력 후 다시 키보드의 입력을 받은 후 종료하는 간단한 코드이다.

여기서 주의할 점은 우리가 흔히 알고 있는 R,G,B 순서가 아닌 B,G,R 순서로 반환된다는 점이다.



댓글

이 블로그의 인기 게시물

[Python] 파이썬에서 Opencv를 이용해 웹캠 영상 읽어오기 및 저장

[MFC] 에디트 컨트롤에 계속 문자열 추가하기(List log)

[Python] OpenCv를 이용하여 마우스 위치 가져오기