[기본 영상처리부터 고급 컴퓨터 비전까지 아우르는]
(개정판) OpenCV를 활용한 컴퓨터 비전 프로그래밍
- 원서명OpenCV Computer Vision Application Programming Cookbook, 2nd Edition (ISBN 9781782161486)
- 지은이로버트 라가니에(Robert Laganière)
- 옮긴이이문호
- ISBN : 9788960777224
- 35,000원
- 2015년 06월 16일 펴냄 (절판)
- 페이퍼백 | 472쪽 | 188*235mm
- 시리즈 : acorn+PACKT, 오픈소스 프로그래밍
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
요약
C++ 인터페이스 기반 OpenCV 라이브러리의 최신 내용을 담아냈으며, 초판의 모든 예제를 재검토해 수정하고, OpenCV 라이브러리의 필수 기능에 관한 더 많은 범위를 추가한 책이다. 이론과 프로그래밍을 모두 겸하면서 처리 결과를 직접 보고 분석해야 하는 분야인 영상처리와 컴퓨터 비전 이론 중 주요 알고리즘을 선정해, 초보자도 쉽게 읽으면서 객체지향 프로그래밍으로 구현한 예제로 배울 수 있도록 구성했다. 또한 C++로 효율적으로 구현하는 방법이 구현된 예제 소스를 제공하므로, 독자는 마음껏 수정해 자신만의 컴퓨터 비전 애플리케이션을 개발할 수 있다. 이 책에서 다루는 OpenCV 버전은 2.4.x을 기준으로 한다.
이 책에서 다루는 내용
■ OpenCV 라이브러리를 이용한 프로그램 설치와 생성
■ 화소 다루기를 통한 영상처리
■ 히스토그램을 이용한 영상 분석
■ 영상을 동질 영역으로 분할하고, 의미 있는 객체 추출
■ 영상 내용을 개선하는 영상 필터 적용
■ 묘사 장면의 다른 시점을 정합하기 위해 영상 기하 활용
■ 서로 다른 영상 관찰로부터 카메라 보정
■ 기계 학습 기술을 이용한 얼굴 검출과 사람 검출
이 책의 대상 독자
이 책은 컴퓨터 비전 애플리케이션을 구축하기 위해 OpenCV 라이브러리를 사용하는 방법을 배우려는 초보 C++ 프로그래머에게 적합한 책이다. 컴퓨터 비전 프로그래밍의 개념을 알기 원하는 전문 소프트웨어 개발자에게도 안성맞춤이다. 학부 수준의 컴퓨터 비전 코스에서 교재로 사용할 수 있으며, 영상처리와 컴퓨터 비전의 대학원생과 연구자에게 최고의 참고서다.
이 책의 구성
1장, ‘영상처리 준비’에서는 OpenCV 라이브러리를 소개하고 영상을 읽고 띄울 수 있는 간단한 애플리케이션을 구축하는 방법을 보여준다. OpenCV의 기본 데이터 구조체도 소개한다.
2장, ‘화소 다루기’에서는 영상을 읽을 수 있는 방법을 설명한다. 각 화소에 작업을 수행하기 위해 영상을 조회하는 여러 방법을 설명한다.
3장, ‘클래스를 이용한 컬러 영상처리’에서는 훨씬 나은 컴퓨터 비전 애플리케이션을 구축하는 데 도움이 되는 여러 가지 객체지향 디자인 패턴을 제시하는 예제로 구성한다. 또한 영상에서 컬러의 개념을 설명한다.
4장, ‘히스토그램으로 화소 세기’에서는 영상 히스토그램을 계산하는 방법과 영상 수정에 사용할 수 있는 방법을 보여준다. 영상 분할, 객체 검출, 영상 검색을 해낼 수 있는 히스토그램에 기반을 둔 여러 응용을 제시한다.
5장, ‘형태학 연산으로 영상 변환’에서는 수학적 형태학의 개념을 살펴본다. 여러 연산자를 제시하고, 에지, 코너, 분할 검출에 사용할 수 있는 방법을 알려준다.
6장, ‘영상 필터링’에서는 주파수 분석과 영상 필터링의 원리를 알려준다. 저주파 필터와 고주파 필터를 영상에 어떻게 적용하는지 보여주고, 미분 연산자의 개념을 제시한다.
7장, ‘선, 외곽선, 성분 검출’에서는 기하 영상의 특징 검출에 중점을 둔다. 영상에서 외곽선, 선, 연결 성분을 추출하는 방법을 설명한다.
8장, ‘관심점 검출’에서는 영상에서 여러 가지 특징점을 검출하는 검출기에 대해 설명한다.
9장, ‘관심점 기술과 정합’에서는 관심점의 기술자를 계산할 수 있는 방법과 영상 간의 점 정합에 사용하는 방법을 설명한다.
10장, ‘영상에서 투영 관계 추정’에서는 동일한 장면의 두 영상 간에 존재하는 투영 관계를 살펴본다. 카메라 보정 과정도 설명하며, 특징점 정합 문제를 재검토한다.
11장, ‘비디오 시퀀스 처리’에서는 비디오 시퀀스를 읽고, 쓰고, 비디오 시퀀스의 프레임을 처리하는 프레임워크를 제공한다. 한 프레임에서 다음 프레임까지의 특징점을 추적할 수 있는 방법과 카메라 전방에서 움직이는 전경 객체를 추출하는 방법도 보여준다.
목차
목차
- 1 영상처리 준비
- 소개
- OpenCV 라이브러리 설치
- 영상을 불러오고, 띄우고, 저장하기
- cv::Mat 데이터 구조체 살펴보기
- 관심 영역 정의
- 2 화소 다루기
- 소개
- 화소 값에 접근
- 포인터로 영상 조회
- 반복자로 영상 조회
- 영상을 조회하는 효율적인 반복문 작성
- 이웃 접근으로 영상 조회
- 간단한 영상 산술 수행
- 영상 재사상
- 3 클래스를 이용한 컬러 영상처리
- 소개
- 알고리즘 설계 과정에서 전략 패턴 사용
- 처리 모듈과 통신하기 위한 컨트롤러 디자인 패턴 사용
- 컬러 표현 변환
- 색상, 채도, 밝기로 컬러 표현
- 4 히스토그램으로 화소 세기
- 소개
- 히스토그램 계산
- 영상 모습을 변경하는 룩업 테이블 적용
- 영상 히스토그램 평활화
- 특정 영상 내용을 검출하기 위한 히스토그램 역투영
- 객체를 찾는 평균 이동 알고리즘 사용
- 히스토그램 비교를 이용한 유사 영상 검색
- 적분 영상으로 화소 개수 세기
- 5 형태학 연산으로 영상 변환
- 소개
- 형태학 필터를 이용한 영상 침식과 팽창
- 형태학 필터를 이용한 영상 열림과 닫힘
- 형태학 필터를 이용한 에지와 코너 추출
- 워터쉐드를 이용한 영상 분할
- MSER를 이용해 두드러진 영역 추출
- 그랩컷 알고리즘으로 전경 객체 추출
- 6 영상 필터링
- 소개
- 저주파 통과 필터를 이용한 영상 필터링
- 중간 값 필터를 이용한 영상 필터링
- 에지를 검출하는 방향성 필터 적용
- 영상의 라플라시안 계산
- 7 선, 외곽선, 성분 추출
- 소개
- 캐니 연산자로 영상 외곽선 검출
- 영상에서 허프 변환으로 선 검출
- 선을 점집합에 맞추기
- 성분의 외곽선 추출
- 성분의 모양 기술자 계산
- 8 관심점 검출
- 소개
- 영상에서 코너 검출
- 특징을 빠르게 검출
- 크기에 불변한 특징 검출
- 다중 크기에서 FAST 특징 검출
- 9 관심점 기술과 정합
- 소개
- 지역 템플릿 정합
- 지역 명도 패턴 기술
- 이진 특징으로 특징점 기술
- 10 영상에서 투영 관계 추정
- 소개
- 영상 형성
- 카메라 보정
- 영상 쌍의 기본 행렬 계산
- RANSAC을 이용한 영상 정합
- 두 영상 간의 호모그래피 계산
- 11 비디오 시퀀스 처리
- 소개
- 비디오 시퀀스 읽기
- 비디오 프레임 처리
- 비디오 시퀀스 쓰기
- 비디오에서 특징점 추적
- 비디오에서 전경 객체 추출