728x90
반응형
코드 및 이미지 : https://github.com/Seokii/Study_OpenCV
OpenCV를 활용해서 사진의 컬러 채널을 분리해보도록 하겠습니다.
함수 설명
1.1. cv2.split(m[, mv]) -> mv
- m : 입력되는 채널들의 배열
- mv : 분리되어 반환되는 단일채널 배열들의 벡터
주피터 노트북으로 구현하기
In [1]:
import cv2
In [2]:
rgb_image = cv2.imread("images/rgb.jpg", cv2.IMREAD_COLOR)
- 필요한 라이브러리와 이미지를 불러옵니다.
In [3]:
rgb_image.ndim
Out[3]:
3
- 이미지의 행렬이 3차원 행렬인지 검사합니다.
In [4]:
bgr = cv2.split(rgb_image)
- cv2.split() 함수를 사용해 3개의 단일 행렬로 나누어 리스트에 저장합니다.
In [5]:
type(bgr), type(bgr[0]), type(bgr[0][0][0]), len(bgr)
Out[5]:
(list, numpy.ndarray, numpy.uint8, 3)
- 순서대로 각각 자료형, 첫번째 원소의 자료형, 단일 채널 한 화소의 자료형, 리스트 원소의 개수를 나타냅니다.
In [ 6]:
cv2.imshow("rgb_image", rgb_image)
cv2.imshow("blue channel", bgr[0])
cv2.imshow("green channel", bgr[1])
cv2.imshow("red channel", bgr[2])
cv2.waitKey(0)
cv2.destroyAllWindows()
- 원본 이미지와 분리한 채널의 이미지를 차례대로 출력합니다.
- 위 사진은 원본 이미지 입니다.
- 순서대로 각각 blue channel, green channel, red channel의 출력 결과 입니다.
- 결과를 통해 이미지에서 해당하는 채널의 색 부분이 더 밝게 출력됨을 알 수 있습니다.
도움이 되셨다면 아래 광고 한 번만 클릭해주세요 감사합니다!
728x90
반응형
'머신러닝 & 딥러닝 > 컴퓨터 비전' 카테고리의 다른 글
[OpenCV with Python] - 10. 이미지(영상)의 밝기 조절 (0) | 2021.09.25 |
---|---|
[OpenCV with Python] - 09. 관심 영역(ROI) 지정 및 값 확인 (0) | 2021.09.25 |
[OpenCV with Python] - 07. 사진 뒤집기, 반복, 전치 반환 (0) | 2021.09.16 |
[OpenCV with Python] - 06. matplotlib에 이미지 불러오기 cv2.cvtColor() (0) | 2021.09.15 |
[OpenCV with Python] - 05. 사진 파일 불러오기 (0) | 2021.09.12 |
댓글