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
전 | 후 |
Github 코드
728x90
'Python > openCV' 카테고리의 다른 글
[python/openCV] openCV 이미지 연결 (2) | 2021.03.31 |
---|---|
[python/openCV] openCV 시작하기 (0) | 2021.01.13 |
댓글
250x250
최근에 올라온 글
TAG
- OpenCV
- SQLD
- 프로그래머스
- algorithm
- 기계학습
- Scikit
- 경사하강법
- 인공지능
- Python
- slqd
- Programmers
- MongoDB
- numpy
- Ai
- SQL
- Max()
- sklearn
- Pandas
- db
- 알고리즘
- 딥러닝
- 자료구조
- VGGNet
- Project
- 머신러닝
- 파이썬
- 부스트코스
- Min()
- 주니온
- cnn
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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