- OpenCV와 컬러 영상
- 컬러 영상은 3차원 numpy.ndarry로 표현. img.shape=(h,w,3)
- openCV 에서는 RGB 순서가 아니라 BGR 순서를 기본으로 사용
- OpenCV 에서 컬러 영상 다루기
img1=cv2.imread('lenna.bmp',cv2.IMREAD_COLOR)
img2=np.zeros((480,640,3),np.uint8)
img3=cv2.imread('lenna.bmp',cv2.IMREAD_GRAYSCALE)
img4=cv2.cvtColor(img3,COLOR_GRAY2BGR) # 이 경우 img4영상의 각 픽셀은 B,G,R 색 성분 값이 모두 같게 설정됨
- (색상) 채널 분리
cv2.split(m,mv=None) -> dst
• m: 다채널 영상 (ex) (B, G, R) 로 구성된 컬러 영상
• mv: 출력 영상
• dst 출력 영상의 리스트
- (색상) 채널 결합
cv2.merge(mv,dst=None) -> dst
• mv: 입력 영상 리스트 또는 튜플
• dst: 출력 영상
- RGB 색상 평면 나누기
import sys
import numpy as np
import cv2
src=cv2.imread('candies.png',cv2.IMREAD_COLOR)
if src is None:
print('Image load failed!')
sys.exit()
print('src.shape:',src.shape) #(480, 640, 3)
print('src.dtype:',src.dtype) # uint8
# RGB 색 평면 분할
b_plane, g_plane, r_plane = cv2.split(src)
#b_plane = src[:, :, 0]
#g_plane = src[:, :, 1]
#r_plane = src[:, :, 2]
cv2.imshow('src',src)
cv2.imshow('B',b_plane)
cv2.imshow('G',g_plane)
cv2.imshow('R',r_plane)
cv2.waitKey()
cv2.destroyAllWindows()
src_hsv=cv2.cvtColor(src,cv2.COLOR_BGR2HSV)
planes=cv2.split(src_hsv)
cv2.imshow('src',src)
cv2.imshow('plane[0]',planes[0])
cv2.imshow('plane[1]',planes[1])
cv2.imshow('plane[2]',planes[2])
cv2.waitKey()
cv2.destroyAllWindows()
- 색 공간 변환
- 영상 처리에서는 특정한 목적을 위해 RGB 색 공간을 HSV, YCrCb , Grayscale 등의 다른 색 공간으로 변환하여 처리
- 색 공간 변환 함수
cv2.cvtColor(src,code,dst=None,dstCn=None) ->dst
• src: 입력 영상
• code: 색 변환 코드
• dstCn : 결과 영상의 채널 수 . 0 이면 자동 결정
• dst 출력 영상
- RGB 색상을 그레이스케일로 변환
• 장점: 데이터 저장 용량 감소, 데이터 처리 속도 향상
• 단점: 색상 정보 손실
- HSV 색 공간
• Hue: 색상, 색의 종류
• Saturation: 채도, 색의 탁하고 선명한 정도
• Value: 명도, 빛의 밝기
- HSV 값 범위
• cv2.CV_8U 영상의 경우
▪ 0 ≤ 𝐻 ≤ 179
▪ 0 ≤ 𝑆 ≤ 255
▪ 0 ≤ 𝑉 ≤ 255
- YCrCb 색 공간
• PAL, NTSC, SECAM 등의 컬러 비디오 표준에 사용되는 색 공간
• 영상의 밝기 정보와 색상 정보를 따로 분리하여 부호화 (흑백 TV 호환)
• Y: 밝기 정보 (luma)
• Cr, Cb : 색차 (chroma)
- YCrCb 값 범위
• cv2.CV_8U 영상의 경우
0≤𝑌≤255
0≤𝐶𝑟≤255
0≤𝐶𝑏≤255
'Computer Vision > opencv(python)' 카테고리의 다른 글
[16] 5) 영상의 명암비 조절 (0) | 2021.03.18 |
---|---|
[15] 4) 히스토그램 분석 (0) | 2021.03.18 |
[13] 2) 영상의 산술 및 논리 연산 (0) | 2021.03.17 |
[12] 기본적인 영상 처리 기법 1)영상의 밝기 조절 (0) | 2021.03.17 |
[11] 동영상 전환 이펙트 (2) | 2021.03.16 |