728x90

< 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

 

 


 

Github 코드

>> github.com/mafls122/python_openCV/blob/main/openCV_02.py

728x90

'Python > openCV' 카테고리의 다른 글

[python/openCV] openCV 이미지 연결  (2) 2021.03.31
[python/openCV] openCV 시작하기  (0) 2021.01.13
댓글
250x250
최근에 올라온 글
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Total
Today
Yesterday