[컴퓨터 비전 애플리케이션 구축을 위한]
OpenCV 프로그래밍
- 원서명OpenCV Essentials (ISBN 9781783984244)
- 지은이오스카 데니즈 수아레즈(Oscar Deniz Suarez), 마 델 밀라그로 페르난데즈 카로블즈(Mª del Milagro Fernandez Carrobles), 노엘리아 발레즈 에나노(Noelia Vallez Enano), 글로리아 부에노 가르시아(Gloria Bueno Garcia), 이스마엘 세라노 가르시아(Ismael Serrano Gracia), 훌리오 알베르토 파톤 인세르티스(Julio Alberto Patón Incertis), 헤수스 살리도 테르세로(Jesus Salido Tercero)
- 옮긴이이문호
- ISBN : 9788960776951
- 25,000원
- 2015년 04월 30일 펴냄
- 페이퍼백 | 256쪽 | 188*235mm
- 시리즈 : acorn+PACKT, 오픈소스 프로그래밍
책 소개
요약
이 책은 OpenCV를 설치하는 방법을 먼저 알려주고, 영상과 비디오/카메라 입출력, 애플리케이션 작성을 위한 사용자 인터페이스 구현을 소개하며, 기본 영상처리 기법과 분할, OpenCV 3.0의 최신 기술을 포함한 특징 추출과 특징 정합 기술, 객체 검출 기술, 비디오 처리 기반의 객체 추적 기술, 더 나아가 기계학습과 GPU 가속 기반까지 고르게 설명하면서 예제 코드 중심으로 다룬다. 이 책에서 제공하는 예제 코드는 다양한 분야에서 추가 개발이 가능하도록 구현되어 있으므로, 각자의 프로젝트에 쉽게 적용할 수 있다.
이 책에서 다루는 내용
■ 레티나 알고리즘, 모핑, 컬러 이동 같은 고급 영상처리 기술 살펴보기
■ 새로운 connectionComponents와 connectedComponentsWithStats 함수 같은 고급 분할 도구를 이용한 프로그램 생성
■ 최적 분할을 얻기 위해 워터쉐드(watershed) 변환과 함께 영역 채우기 사용
■ 새롭고 강력한 KAZE 특징 살펴보기
■ BackgroundSubtractor 클래스를 이용한 고급 비디오 기반 배경/전경 분할과 ECC 기반 워핑 사용
■ 사용 가능한 객체 검출 프레임워크와 새로운 장면 텍스트 검출 기능 활용
■ 기계 학습과 GPU 최적화 같은 고급 주제 파악
이 책의 대상 독자
이 책은 OpenCV의 주요 기술을 구현하는 방법을 배우고 빠르게 시작하려는 C++ 개발자를 대상으로 하며, 컴퓨터 비전/영상처리를 이용한 작업 경험이 있으면 좋다.
이 책의 구성
1장 ‘시작하기’는 기본 설치 단계를 다루고, OpenCV API의 필수 개념을 소개한다. 영상과 비디오를 읽고 쓰기 위한 첫 예제와 더불어 카메라로부터 비디오를 캡처하는 예제도 제공한다.
2장 ‘그래픽 사용자 인터페이스’에서는 OpenCV 기반 애플리케이션을 위한 사용자 인터페이스 능력을 다룬다.
3장 ‘영상처리’는 OpenCV에서 활용할 수 있는 매우 유용한 영상처리 기술을 다룬다.
4장 ‘영상 분할’은 OpenCV에서 고려해야 할 분할의 모든 중요한 문제를 다룬다.
5장 ‘2D 특징’에서는 영상으로부터 특징과 기술자(descriptor)를 추출하기 위해 사용할 수 있는 함수를 다룬다.
6장 ‘객체 검출’에서는 컴퓨터 비전의 중심 문제인 객체 검출을 기술한다. 이 장에서는 객체 검출에 활용할 수 있는 기능을 설명한다.
7장 ‘모션’에서는 단일 정지 영상 이상의 내용을 고려한다. 이 장은 OpenCV에서의 모션과 추적을 다룬다.
8장 ‘고급 주제’는 기계 학습과 GPU 기반 가속 같은 몇몇 고급 주제에 중점을 둔다.
목차
목차
- 1장 시작하기
- OpenCV 설정
- 라이브러리 컴파일 대 미리 컴파일된 라이브러리
- CMake로 OpenCV 구성
- OpenCV 라이브러리 빌드와 설치
- OpenCV 설정을 위한 빠른 방법
- 라이브러리 컴파일 대 미리 컴파일된 라이브러리
- API 개념과 기본 자료형
- 첫 프로그램: 영상과 비디오를 읽고 쓰기
- qmake 프로젝트 파일
- 비디오 파일을 읽은 후 재생
- 카메라로부터 실시간 입력
- 요약
- 2장 그래픽 사용자 인터페이스
- OpenCV의 highgui 모듈 사용
- 텍스트와 그리기
- 영역 선택
- Qt 기반 함수 사용
- 텍스트 오버레이와 상태 바
- 속성 대화상자
- 창 속성
- Qt 영상
- 요약
- 3장 영상처리
- 화소 수준 접근과 범용 연산
- 영상 히스토그램
- 히스토그램 평활화
- 밝기와 명암대비 모델링
- 히스토그램 정합과 LUT
- RGB를 다른 컬러 공간으로 변환
- 레티나 모델로 필터링
- 산술 변환과 기하학적 변환
- 산술 변환
- 기하학적 변환
- 요약
- 참고사항
- 4장 영상 분할
- 경계화
- 외곽선과 연결 성분
- 영역 채우기
- 워터쉐드 분할
- 그랩컷
- 요약
- 참고사항
- 5장 2D 특징
- 관심점
- 특징 검출기
- FAST 검출기
- SURF 검출기
- ORB 검출기
- KAZA 검출기와 AKAZE 검출기
- 특징 기술자 추출기
- 기술자 정합기
- SURF 기술자 정합
- AZKAE 기술자 정합
- 요약
- 참고사항
- 6장 객체 검출
- 객체 검출
- OpenCV로 객체 검출
- 캐스케이드는 아름답다
- 캐스케이드를 이용한 객체 검출
- 자신만의 캐스케이드 학습
- 라텐트 SVM
- 장면 텍스트 검출
- 요약
- 참고사항
- 7장 모션
- 모션 역사
- 비디오 시퀀스 읽기
- 루카스-카나데 옵티컬 플로우
- 구나-파르네백 옵티컬 플로우
- 평균이동 추적기
- 캠시프트 추적기
- 모션 템플릿
- 모션 히스토리 템플릿
- 모션 기울기
- 배경 차분 기술
- 영상 정렬
- 요약
- 참고사항
-
- 8장 고급 주제
- 기계 학습
- KNN 분류기
- 랜덤 포레스트 분류기
- 분류를 위한 SVM
- GPU는 어떤가?
- CUDA를 지원하는 OpenCV 설정
- OpenCV 빌드 구성
- 라이브러리 빌드 및 설치
- CUDA를 지원하는 OpenCV 설정을 위한 빠른 예제
- 첫 GPU 기반 프로그램
- 실시간으로 가자
- 성능
- 요약
- 참고사항
도서 오류 신고
정오표
정오표
[p.54 : 본문 11행]