[python/openCV] openCV 이미지 흑백 처리
< OpenCV에서는 BGR로 이미지를 표현 >
- Blue -> (255,0,0)
- Green -> (0,255,0)
- Red -> (0,0,255)
- White -> (255,255,255)
- Black -> (0,0,0)
이미지 흑백 처리
1. 흑백으로 읽어오기 / cv2.IMREAD_GRAYSCALE
2. BGR 이미지에서 GRAY로 변경 / cv2.cvtColor -> BT.601 Y 공식 적용한 함수 사용
3. Y = 0.299 * R + 0.587 * G + 0.114 * B -> 흑백 공식을 이용하여 직접 변경
1. cv2.IMREAD_GRAYSCALE( )
: 이미지를 GRAYSCALE로 읽어온다. (흑백)
cv2.imread( ) 와 함께 사용되며 파일을 가져올때 적용하여 사용한다.
img = cv2.imread("image.jpg", cv2.IMREAD_GRAYSCALE( ))
2. cv2.cvtColor( src, code[ , dst[ , dstCn]] ) -> dst : 색상 모드 변경
: cv2.COLOR_BGR2GRAY : BGR의 이미지를 흑백으로 변환하기 위해서 사용
이외에도 BGR 이미지를 RGB, HSV, YCrCb, RGB 등으로 모드를 변경할 수 있다.
img_Gray = cv2.cvtColor( img, cv2.COLOR_BGR2GRAY )
3. Y = 0.299 * R + 0.587 * G + 0.114 * B : BT.601 을 이용하여 흑백 변환
: RGB 컬러 이미지를 흑백으로 변환하는 경우, 신호 Y값을 산출한다.
Y는 휘도, 즉 물리적인 선형 공간 밝기를 의미한다.
사람 시각에는 동일한 값을 가질 때 G(녹색)가 가장 밝게 보이고 그 다음 R과 B가 밝게 보이기 때문에
RGB의 가중치를 둔 공식을 이용하여 변환한다.
참고 : ko.wikipedia.org/wiki/YUV
YUV - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전. 둘러보기로 가기 검색하러 가기 U-V 색 플레인의 예. Y′ 값 = 0.5 (RGB 색역으로 표현) 각각 Y′, U, V 컴포넌트가 수반된 이미지 YUV는 컬러 이미지 파이프라인의 일
ko.wikipedia.org
전 | 후 |
![]() |
![]() |