해당 포스트는 "OpenCV로 배우는 영상 처리 및 응용", "C++ API OpenCV 프로그래밍" 책의 내용을 요약한 것이다.
※ 포인트 프로세싱
포인트 프로세싱은 입력영상의 각 화소 (x,y) 주위의 이웃 화소를 고려하지 않고 입력 화소의 값을 변환 함수 T에 의해 변환시켜 출력 영상의 화소값을 얻는 영상 처리 방법이다.
※ 반전 영상
입력 영상의 밝기값 최대값 255에서 입력 영상 화소 밝기값의 뺄셈으로 변환 영상의 화소값을 계산한다. 8비트 영상에서 최대값은 255이므로 255-(입력 영상 화소 밝기값) 으로 계산한다.
※ 임계값 영상
입력 영상의 밝기값이 주어진 임계값보다 크면 max_value, 그렇지 않으면 0으로 출력 영상의 밝기값을 설정한다.
- double threshold(InputArray src, OutputArray dst, double thresh, double maxval, int type)
: type에 따라 임계값 영상을 계산한다. type에 따른 계산 방법은 다음과 같다.
- double adaptiveThreshold(InputArray src, OutputArray dst, double maxValue,int adaptiveMethod, int thresholdType, int blockSize, double C)
: 하나의 임계값이 영상 전체 화소에 동일하게 적용하는 것이 아니라, 각각의 화소마다 이웃을 고려하여 개별적으로 임계값을 계산하여 적용한다. adaptiveMethod가 ADAPTIVE_THRESH_MEAN_C 이면 blockSize*blockSize 크기의 위웃에서 평균을 계산한 다음 C를 뺄셈한 값이 임계값 T(x,y)가 된다. ADAPTIVE_THRESH_GAUSSIAN_C이면 blockSize*blockSize 크기의 이웃에서 가우시안 가중치 평균을 계산한 다음 C를 뺄셈한 값이 임계값 T(x,y)가 된다. 다음은 thresholdType에 따른 임계값 계산 방법이다.
'OpenCV 프로그래밍' 카테고리의 다른 글
경계값 채우기(copyMakeBorder, borderIntrepolate) (0) | 2017.06.25 |
---|---|
OpenCV 히스토그램 생성, 평활화, 역투영 (0) | 2017.06.24 |
OpenCV 선형대수 함수 (0) | 2017.06.23 |
LUT, 행렬(Mat)의 절대값, 비교, 수치, 통계 함수 (0) | 2017.06.23 |
cvarrToMat, flip, repeat, merge, split, mixChannels (0) | 2017.06.23 |