목차
Chapter 01. OpenCV 기초 = 12
1.1. 영상처리와 컴퓨터비전 = 12
1.2. OpenCV 개요 = 13
1.3. OpenCV 설치 = 16
(1) OpenCV 1.1 설치 = 16
(2) OpenCV 2.0 설치 = 18
(3) 0penCV 2.1 설치 = 19
1.4. 비주얼 스튜디오 설정 및 OpenCV 기본 프로그램 = 20
1.4.1. Visual C++ 6.0에서 OpenCV 1.1 = 20
(1) Visual C++ 6.0에서 OpenCV 1.1 다시 빌드 = 20
(2) Visual C++ 6.0에서 OpenCV 1.1 경로 설정 = 23
(3) Visual C++ 6.0에서 OpenCV 1.1 응용프로그램 = 24
1.4.2. 비주얼스튜디오 2008에서 0penCV 2.x = 29
(1) 비주얼 스튜디오 2008에서 0penCV 2.0 = 29
(2) 비주얼 스튜디오 2008에서 0penCV 2.1 = 37
Chapter 02. OpenCV 자료구조 = 42
2.1. CvPoint, CvScalar, CvSize, CvRect = 42
(1) CvPoint, CvPoint2D32f, CvPoint2D64f, CvScalar 자료형의 정의 = 42
(2) cvPoint, cvPoint2D32f, cvPoint2D64f, cvScalar 인라인 함수 정의 = 44
(3) CvSize, CvRect = 47
2.2. CvMat 행렬 자료구조 = 49
(1) CvMat 자료형 = 49
(2) CvMat 행렬 생성 및 파괴 = 50
(3) 행렬(CvMat) 또는 영상(IplImage) 요소 접근(Get/Set) = 56
2.3. IplImage 영상 자료구조 = 67
(l) IplImage 자료형 = 67
(2) 파일에서 영상읽기 및 화면에 출력하기 = 69
(3) IplImage 영상 생성 및 파괴 = 71
Chapter 03. 간단한 그래픽 및 마우스 이벤트 = 78
3.1. 영상에 간단한 그래픽 그리기 = 78
(1) 라인, 사각형, 원, 타원 그리기 = 78
(2) 다각형 그리기 및 채우기 = 84
(3) 문자 출력 = 87
3.2. 키보드, 마우스, 트랙바 이벤트 처리 = 89
(1) 키보드 이벤트 처리 = 89
(2) 마우스 이벤트 처리 = 90
(3) 트랙바 처리 = 94
Chapter 04. OpenCV 기본 연산 함수 = 98
4.1. 관심영역 지정, 복사, 채우기 = 98
(1) 영상에서 관심영역(ROI)과 관심채널(COI) 지정 = 98
(2) 행렬 및 영상의 복사 및 채우기 = 100
(3) 영상을 행렬로 변환 또는 행렬을 영상으로 변환 = 104
(4) 행렬 및 영상의 형태 변환 및 채널 분리 및 합성 = 108
4.2. 행렬 및 영상의 산술, 논리 및 비교연산 = 112
(1) cvLUT, cvConvertScale, cvConvertScaleAbs = 112
(2) 행렬의 사칙연산 : cvAdd, cvSub, cvMul, cvDiv = 116
(3) 논리연산 : cvAnd, cvOr, cvXor, cvNot = 121
(4) 비교 및 범위 연산 = 126
(5) cvMin, cvMax, cvAbsDiff = 129
4.3. 통계 및 선형대수 함수 = 133
(1) 간단한 통계 : 평균, 표준편차, 최대/최소 값 및 위치 = 133
(2) 선형대수관련 함수 = 140
(3) 간단한 수학 관련 함수 = 183
Chapter 05. 포인트 프로세싱 = 194
5.1. 포인트 처리에 의한 화소값의 변환 = 194
(1) 반전영상(negative image) = 194
(2) 임계값 영상 = 197
(3) 선형변환, 로그변환, 거듭제곱 = 201
5.2. 히스토그램 처리 = 208
(1) 히스토그램 생성 및 삭제 = 208
(2) 히스토그램 값 가져오기 = 210
(3) 히스토그램 계산 및 연산 = 211
(4) 히스토그램 평활화 = 215
(5) 히스토그램 비교 = 224
5.3. 적분영상 및 컬러변환 = 231
Chapter 06. 이웃을 고려한 공간영역 필터링 = 238
6.1. 최소값, 최대값, 평균 필터링 = 238
(1) 경계값 채우기(padding) = 238
(2) 최소값 필터링 = 241
(3) 최대값 필터링 = 241
(4) 평균 필터링 = 241
6.2. 2D 필터 연산 = 251
(1) 회선, 상관관계, cvFilter2D = 251
(2) 영상을 부드럽게 하는 스무딩 연산 = 254
(3) 미분(differentiation) 연산에 의한 샤프닝(sharpening) = 264
6.3. 모폴로지 연산 = 282
(1) 모폴로지 연산 = 282
Chapter 07. 주파수 영역 필터링 = 290
7.1. 푸리에 변환 = 290
(1) 이산 푸리에 변환(discrete Fourier transform) = 290
(2) 푸리에 변환의 특성 = 291
(3) OpenCV DFT함수 = 294
7.2. 푸리에 변환에 의한 필터링 = 313
(1) 저주파통과 필터(lowpass filtering) = 313
(2) 고주파통과 필터(high pass filtering) = 320
(3) 회선 및 상관관계 계산 = 327
(4) 주파수영역에서의 미분 = 346
Chapter 08. 영상 분할 및 특징 검출 = 356
8.1. 메모리 관리 및 시퀀스 = 356
(1) CvMemStorage 생성, 파괴 및 할당 = 356
(2) 시퀀스 = 357
(3) CvSeqWriter/CvSeqReader = 363
8.2. 에지, 직선, 원, 코너점 검출 = 366
(1) 에지검출 = 366
(2) 허프변환(Hough transform)에 의한 직선(line) 및 원(circle) 검출 = 368
(3) 코너점 검출 = 376
(4) SURF에 의한 특징점 검출 = 390
8.3. 영역에서 윤곽선 검출 = 405
(1) 거리계산 및 인페인트 = 416
(2) 피라미드 기반 분할 = 421
8.4. 모멘트, K-Means 클러스터링 = 433
(1) 모멘트 = 433
(2) 클러스터링 및 분할 = 441
8.5. 샘플링, 보간, 및 기하학적 변환 = 450
(1) 샘플링 및 보간 = 450
(2) 기하학적 변환 = 461
Chapter 09. 윈도우즈 프로그래밍 및 비디오 입출력 = 494
9.1. 윈도우즈 프로그래밍 = 494
(1) 원도우즈 API로 화면 출력 = 494
(2) MFC로 화면 출력 = 504
9.2 비디오 입출력 = 531
Chapter 10. OpenCV 클래스 및 cvBlobsLib 레이블링 라이브러리 = 554
10.1. CvvImage, CvImage 및 CvMatrix = 554
(1) CvvImage = 555
(2) CvImage = 558
10.2. cvBlobsLib에 의한 레이블링 = 564
(1) 비주얼 스튜디오 2008에서 cvBlobsLib 라이브러리 빌드 = 564
10.3. OpenCV용 커스텀 위저드 = 571
(1) C:\Program Files\Microsoft Visual Studio 9.0\VC\vcprojects 폴더 = 571
(2) openCVWizard 폴더 = 571