1. 그레이스케일 영상 다루기
- 그레이스케일은 CV_8UC1 타입의 객체를 생성해야 함.
- 만약 이미 세 채널 컬러 양상을 가지고 있는 걸 그레이스케일 영상으로 변환하려면 cvtColor() 함수를 사용해야 함.
- 채널 색상 순서 : 파랑, 초록, 빨강
2. 영상의 밝기 조절
- 픽셀에 일정 값을 더하거나 뺌으로써 영상의 밝기를 조절.
- src는 입력 영상, dst는 출력 영상, n은 밝기 값을 나타냄.
- 그레이스케일의 최댓값은 255, 최솟값은 0이므로 결과 영상의 픽셀 값을 설정해 주어야 함.
- 최대, 최소 값의 범위를 벗어나는 경우 255, 0 으로 설정하는 연산을 포화 연산이라고 부름.
- 밝기 조절 결과를 자기 자신에게 저장하려면 += 연산자 재정의를 사용.
3. 영상의 밝기 조절 직접 구현하기
- 연산자 함수를 사용하지 않고 밝기 조절을 하려면 입력 영상의 모든 픽셀을 방문하면서 픽셀 값에 일정한 상수를 더하거나 빼면 됨.
- 직접 결과 영상 픽셀 값을 설정하려면 크기와 타입의 결과 영상을 미리 생성해야 함.
- 연산자 함수가 아닌 직접 조절은 최댓값 255를 넘기면 자동으로 0으로 바뀌어 저장 됨.
// saturate_cast() 캐스팅 함수
template<> inline
uchar saturate_cast<uchar>( int v );
- 포화 연산을 수행하는 함수
- 자료형을 꼭 명시해야 함.
4. 트랙바를 이용한 영상의 밝기 조절
- 트랙바(3번 내용 참고)
2020/02/13 - [Computer Vision] - OpenCV 주요 기능 - 3. 이벤트 처리
OpenCV 주요 기능 - 3. 이벤트 처리
1. 키보드 이벤트 처리 // 키보드 입력을 처리하는 함수 int waitKey(int delay = 0); delay : 키입력을 기다리는 시간. 지정하지 않거나 0 또는 음수일 경우 무한히 기다림. 반환값이 눌러진 키값(아스키 코드),..
ksb0511.tistory.com
- dst 창에 트랙바를 부착하고 콜백 함수인 on_brightness를 등록.
- 프로그램 동작을 매끄럽게 만들기 위해서는 on_brightness() 함수를 강제로 호출.
- 강제로 호출하지 않을 경우 첫 화면에 사진이 뜨지 않음.
'Computer Vision' 카테고리의 다른 글
영상의 밝기와 명암비 조절 - 3. 히스토그램 분석 (0) | 2020.02.21 |
---|---|
영상의 밝기와 명암비 조절 - 2. 영상의 명암비 조절 (0) | 2020.02.18 |
OpenCV 주요 기능 - 5. 유용한 OpenCV 기능 (0) | 2020.02.14 |
OpenCV 주요 기능 - 4. OpenCV 데이터 파일 입출력 (0) | 2020.02.14 |
OpenCV 주요 기능 - 3. 이벤트 처리 (0) | 2020.02.13 |
댓글