HOME > 상세정보

상세정보

OpenCV 2를 활용한 컴퓨터 비전 프로그래밍 (35회 대출)

자료유형
단행본
개인저자
Laganiere, R. (Robert), 1964- 이문호, 역
서명 / 저자사항
OpenCV 2를 활용한 컴퓨터 비전 프로그래밍 / 로버트 라가니에 지음 ; 이문호 옮김
발행사항
의왕 :   에이콘,   2012  
형태사항
369 p. : 삽화 ; 24 cm
총서사항
Acorn+Packt technical book
원표제
OpenCV 2 computer vision application programming cookbook : over 50 recipes to master this library of programming functions for real-time computer vision
ISBN
9788960772946 9788960772106 (set)
일반주기
색인수록  
일반주제명
Computer vision Image processing -- Digital techniques Image analysis Application software -- Development
000 01224camcc2200361 c 4500
001 000045703870
005 20120504104155
007 ta
008 120503s2012 ggka 001c kor
020 ▼a 9788960772946 ▼g 94560
020 1 ▼a 9788960772106 (set)
035 ▼a (KERIS)BIB000012745289
040 ▼a 211062 ▼c 211062 ▼d 211009
041 1 ▼a kor ▼h eng
082 0 4 ▼a 006.37 ▼2 22
085 ▼a 006.37 ▼2 DDCK
090 ▼a 006.37 ▼b 2012
100 1 ▼a Laganiere, R. ▼q (Robert), ▼d 1964-
245 1 0 ▼a OpenCV 2를 활용한 컴퓨터 비전 프로그래밍 / ▼d 로버트 라가니에 지음 ; ▼e 이문호 옮김
246 1 9 ▼a OpenCV 2 computer vision application programming cookbook : ▼b over 50 recipes to master this library of programming functions for real-time computer vision
260 ▼a 의왕 : ▼b 에이콘, ▼c 2012
300 ▼a 369 p. : ▼b 삽화 ; ▼c 24 cm
440 0 0 ▼a Acorn+Packt technical book
500 ▼a 색인수록
630 0 0 ▼a OpenCV
650 0 ▼a Computer vision
650 0 ▼a Image processing ▼x Digital techniques
650 0 ▼a Image analysis
650 0 ▼a Application software ▼x Development
700 1 ▼a 이문호, ▼e
900 1 0 ▼a 라가니에, 로버트, ▼e
945 ▼a KLPA

소장정보

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 006.37 2012 등록번호 121219471 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 2 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 006.37 2012 등록번호 121243903 도서상태 대출가능 반납예정일 예약 서비스 B M

컨텐츠정보

책소개

C++ 인터페이스 기반 OpenCV 2 라이브러리의 최신 내용을 담은 책이다. 딱딱한 영상처리와 컴퓨터 비전 이론 중 중요한 알고리즘을 선정해, 초보자도 쉽게 읽으며 객체지향 프로그래밍으로 구현한 예제를 함께 배울 수 있도록 구성했다. 또한 C++로 효율적으로 구현하는 방법이 구현된 프레임워크를 제공하므로, 독자가 마음껏 수정해 자신만의 애플리케이션을 개발할 수 있다.

기초부터 고급 기술까지, OpenCV 2 라이브러리의 C++ 인터페이스를 이용한 컴퓨터 비전 프로그래밍 가이드북

『OpenCV 2 Computer Vision Application Programming Cookbook 한국어판』은 OpenCV 라이브러리에 있는 수많은 컴퓨터 비전 알고리즘을 소개하며, 영상을 읽고, 쓰고, 생성하고 다룰 수 있는 방법을 배운다. 일반적으로 영상 분석에 사용하는 다양한 기술과 C++로 효율적으로 구현할 수 있는 방법을 살펴본다.


★ 이 책에서 다루는 내용 ★

■ 올바른 객체지향 프로그래밍 실습을 통한 고급 컴퓨터 비전 애플리케이션 만들기
■ 화소별로 처리하기 위한 영상 조회
■ 영상이나 관심 영역을 히스토그램으로 개선
■ 수학적 형태학 사용과 변환 영상 필터링, 영상 분할
■ 묘사 장면의 다른 시점을 매칭하기 위한 영상 기하학 활용
■ 비디오 시퀀스 읽고 쓰기
■ 특징점 추적과 움직이는 객체를 식별하기 위한 비디오 프레임 처리
■ 관심점, 선, 외곽선, 영상 내 객체 감지


★ 이 책의 대상 독자 ★

컴퓨터 비전 애플리케이션을 구축하기 위해 OpenCV 라이브러리의 사용 방법을 배우고 싶은 C++ 프로그래머 초보에게 적합한 책이다. 또한 컴퓨터 비전 프로그래밍 개념을 알기 원하는 전문 소프트웨어 개발자에게도 안성맞춤이다. 학부 수준 컴퓨터 비전 코스에서 교재로 사용할 수 있으며, 영상처리와 컴퓨터 비전 분야의 석사 과정과 연구자에겐 최고의 참고서다. 이 책은 기본에서 고급 예제까지의 훌륭한 조합을 제공한다. 단, 이 책을 읽으려면 기본적인 C++ 지식은 알고 있어야 한다.


★ 이 책의 구성 ★

1장, 영상처리 준비: OpenCV 라이브러리를 소개하고, 마이크로소프트 비주얼 C++와 Qt 개발 환경을 이용해 간단한 애플리케이션을 실행하는 방법을 보여준다.

2장, 화소 다루기: 영상을 읽을 수 있는 방법을 설명한다. 화소별로 작업을 수행하기 위해 영상을 조회하는 여러 가지 방법을 기술한다. 또한 영상 내의 관심 영역을 정의하는 법을 배운다.

3장, 영상처리 클래스 구현: 훨씬 나은 컴퓨터 애플리케이션을 구축하는 데 도움이 될 여러 가지 객체지향 디자인 패턴을 적용한 예제로 구성한다.

4장, 히스토그램을 이용한 화소 개수 세기: 영상 히스토그램을 계산하는 방법과 영상을 수정하는 데 사용할 수 있는 방법을 보여준다. 히스토그램에 기반을 두되 영상 분할, 객체 감지, 영상 검색을 위한 애플리케이션을 제시한다.

5장, 형태학 연산을 이용한 영상 변환: 수학적 형태학의 개념을 살펴본다. 여러 연산자를 제시하고, 영상 내의 에지, 코너, 분할을 감지하는 데 사용할 수 있다.

6장, 영상 필터링: 주파수 분석과 영상 필터링의 원리를 알려준다. 저주파와 고주파 필터를 영상에 어떻게 적용하는지 보여준다. 두 영상 미분 연산자인 기울기와 라플라시안(Laplacian)을 제시한다.

7장, 선, 외곽선, 컴포넌트 추출: 기하 영상의 특징 감지에 초점을 맞춘다. 영상 내의 외곽선, 선, 연결 컴포넌트를 추출하는 방법을 설명한다.

8장, 관심점 감지와 매칭: 영상 내의 여러 가지 특징점 감지기를 기술한다. 또한 관심점(interest point) 기술자를 계산하고, 영상 간의 점을 매칭하는 데 사용하는 방법을 설명한다.

9장, 영상 내 투영 관계 추정: 영상 정보 안에 포함된 여러 관계를 분석한다. 또한 동일한 장면을 갖는 두 영상 간에 존재하는 투영 관계를 살펴본다.

10장, 비디오 시퀀스 처리: 비디오 시퀀스를 읽고 저장하고 각 프레임을 처리하기 위한 프레임워크를 제공한다. 또한 프레임에서 다음 프레임의 특징점 추적, 카메라 앞에서 움직이는 전경 객체를 추출하는 방법을 보여준다.


★ 저자 서문 ★

영상과 비디오가 폭발적으로 늘어나고, 강력하고 구입하기 적당한 컴퓨팅 기기도 손쉽게 구할 수 있는 디지털 세상이지만, 복잡한 영상 애플리케이션을 만들기는 쉽지 않다. 영상과 비디오를 조작하는 수많은 소프트웨어 툴과 라이브러리 속에서 자신만의 애플리케이션을 만들기 원하는 사람이 사용할 수 있는 툴로 가장 적합한 것은 OpenCV 라이브러리다.

OpenCV(Open Source Computer Vision)은 500개 이상의 영상과 비디오 분석을 위해 최적화된 알고리즘을 포함하는 오픈소스 라이브러리다. 1999년에 소개됐고, 컴퓨터 비전 분야의 연구자와 개발자 커뮤니티에서 주요 개발 툴로 많이 채택했다. 애초 OpenCV는 인텔의 비전 연구 진행과 비전 기반 CPU 집약 애플리케이션과 같은 부가 개발을 촉진하기 위해 개리 브라드스키(Gary Bradski)가 이끄는 팀에서 개발했다. 베타 시리즈를 배포한 후 2006년에 1.0 버전을 선보였다. 2009년, OpenCV 2 출시와 함께 두 번째 메이저 배포를 단행했다. 주요 변경 사항으로는 특히 이 책에서 사용하는 새로운 C++ 인터페이스다. 이 책을 집필하는 시점에서 최신 배포 버전은 2.2다(2010년 12월).

이 책은 라이브러리의 특징을 다수 다루고 특정 작업을 완수하기 위해 라이브러리를 사용하는 방법을 보여준다. OpenCV 함수와 클래스에서 제공하는 모든 옵션을 완전하되 상세하게 다루지는 않지만, 처음부터 끝까지 애플리케이션을 구축하는 데 필요한 요소를 제공한다. 또한 영상 분석에 대한 근본 개념을 살펴보고, 컴퓨터 비전에서 중요한 알고리즘도 일부 기술한다.

이 책은 영상과 비디오 분석의 세계를 접할 수 있는 기회를 제공할 것이다. 그러나 단지 시작일 뿐이다. 좋은 소식은 OpenCV가 끊임없이 진화하고 확장 중이라는 점이다. 라이브러리의 기능을 계속 업데이트하는 OpenCV 온라인 문서를 참조하자.

http://opencv.willowgarage.com/wiki/

★ 옮긴이의 말 ★

★ 옮긴이의 말 ★

옷깃만 스쳐도 인연이라는 말이 있습니다. 기억이 잘 나지 않지만 아마도 2006년이었을 겁니다. 그때 OpenCV가 무엇인지 궁금했는데, 당시에는 관련 도서가 거의 없다 보니 구글로 자료를 찾는 과정에서 우연히 한 사이트를 보고 '아! 그렇게 만들면 되는구나'라며 감탄했습니다. 세월이 흐르고 흘러 7년이 지난 후에 이 책을 번역하는 과정에서 그 사이트를 만든 분이 이 책의 저자였음을 알았을 때의 제 소감은 굳이 말씀드리지 않아도 아시리라 믿습니다.

이와 같이 이 책의 저자인 라가니에 교수는 오래 전부터 OpenCV에 관심을 갖고 관련 문서를 공개했으며, C++ 인터페이스 기반으로 책을 최초로 출간했을 정도로 열정을 가진 분입니다.

사실 저도 아주 오래 전에 OpenCV를 MFC와 연계해 책 저술했고, 우리나라부터 중국, 일본, 미국순으로 OpenCV 책을 출간하면 바로 입수해 꼼꼼하게 분석한 적이 있습니다. 시간이 흐를수록 OpenCV는 매우 빠르게 업그레이드되고, C++ 인터페이스를 도입해 좀 더 편한 컴퓨터 비전 애플리케이션 개발 환경을 제공하는데, 책만은 그만큼 따라가지 못했다는 안타까움이 들었습니다. 왜 그럴까요? OpenCV는 영상처리부터 컴퓨터 비전까지 다양한 분야를 포괄하는 방대한 라이브러리이므로 모든 내용을 다룰 수 없었기 때문입니다. 아울러 개발 환경이 천차만별이고, C/C++/파이썬 등 여러 가지 프로그래밍 언어 관련 함수를 제공하고 있기 때문입니다.

때마침 에이콘 출판사에서 팩트 출판사의 『OpenCV 2 Computer Vision Application Programming Cookbook』을 저에게 번역하도록 권했을 때 조금은 놀랐습니다. 영상처리와 컴퓨터 비전은 대학교재 출판사만 가능한 반면, 에이콘 출판사는 아시는 대로 IT의 최신 흐름을 반영하는 책을 출간하는 유명한 출판사였기 때문입니다. 의외였지만 망설임 없이 수락했습니다. 그땐 건강 사정으로 인해 책을 보기가 아주 힘겨워 한동안 멀리 했지만, 독자에게 정말 도움이 되는 책이 될 거라는 믿음을 가졌기 때문입니다.

덕분에 흐릿하게 보이는 글자를 항상 200% 이상 확대해 번역하는 과정에서 수많은 시행착오를 겪기도 했지만, 영상처리를 처음 공부했을 때의 행복감을 만끽했습니다. 그때의 행복감을 이제 독자 여러분에게도 전해 드리고자 합니다.

『OpenCV 2 Computer Vision Application Programming Cookbook 한국어판』은 지금까지 출간된 C 언어 기반 OpenCV 책과 달리 차별화되며, OpenCV 2.X의 C++ 인터페이스를 중심으로 기본 영상처리 과정부터 컴퓨터 비전의 중요 알고리즘 등을 디자인 패턴을 반영한 객체지향 프로그래밍으로 구현한 예제와 함께 공부할 수 있는 입문서입니다. 덧붙여 C++를 올바르게 활용하고 싶거나 영상처리와 컴퓨터 비전 분야에 관심이 많은 C++ 전문 개발자에게 길라잡이가 될 것이라 믿습니다.

제가 늘 하는 말이 있습니다. 다른 분야도 그렇지만 영상처리와 컴퓨터 비전은 눈으로 보이는 부분을 다루는 만큼 이론을 잘 이해하고 프로그래밍 개발을 함께 수반해야 하는 분야입니다. 특히 특정 라이브러리를 사용해야 하는 상황이라면 더욱 그렇습니다.

OpenCV에서 제공하는 함수나 클래스의 사용 방법을 정확하게 배우는 것이 중요합니다. 하지만 해당 알고리즘의 구현 원리를 제대로 이해하지 못한 채 OpenCV만 믿고 무작정 가져다 쓰면 자신의 실력 향상에 결코 도움이 될 수 없습니다. 그만큼 OpenCV에서 제공하는 온라인 문서와 관련 알고리즘을 기술한 이론서를 함께 보면서 더 많은 이해를 하고, 제대로 활용할 수 있을 때까지 끊임없이 노력할 것을 당부 드립니다.

아울러 이 책이 마침표가 아닌 시작으로서, 독자 여러분에게 좀 더 멋진 컴퓨터 비전 애플리케이션을 만들 수 있는 좋은 책으로 자리매김하길 바랍니다.


정보제공 : Aladin

저자소개

로버트 라가니에(지은이)

캐나다의 오타와 대학교 전자 공학/컴퓨터 과학 대학 교수며, 현재 VIVA 연구실의 공동 설립자이다. 내용 기반 비디오 분석, 비디오 감시, 주행 보조, 객체 인식, 객체 추적 분야에 관련된 여러 과학 논문의 공저자며, 특허를 보유하고 있다. 『OpenCV 2 Computer Vision Application Programming Cookbook(한국어판)』(에이콘, 2012)과 『(개정판) OpenCV를 활용한 컴퓨터 비전 프로그래밍』(에이콘, 2014)의 저자다. 2006년 오타와 기반 비디오 분석 스타트업 회사인 비주얼 코텍스(Visual Cortex)를 공동 창업했으며, 아이워치라이프(iWatchLife)(www.iwatchlife.com)가 이 회사를 2009년에 인수했다. 컴퓨터 비전 컨설턴트이기도 하며, 코그니뷰(Cognivue), 아이워치라이프, 템포 애널리틱스(Temp Analytics) 같은 스타트업 회사에서 수석 과학자로 일했다. 1987년 몬트리올의 에콜 폴리테크니크(Ecole Polytechnique)에서 전자공학 학사 학위를 받았고, 몬트리올의 INRS-Telecommuncations에서 석사 학위와 박사 학위를 받았다. 웹 사이트 주소는 www.laganiere.name이다.

이문호(옮긴이)

관심 분야는 정보 검색이며, 매일 4시간 이상 걸리는 출퇴근 시간에 다방면의 원서를 읽는 쏠쏠한 즐거움에 빠져 사는 아날로그 세대다. 영상처리를 전공으로 석사를 마쳤고, 현재 문헌정보학 박사 과정에 있으며, 컴퓨터 비전 기반 IoT 솔루션 개발에 전념하고 있다. 오픈소스 자바 검색 엔진인 루씬(Lucene)에 관한 첫 국내서인 『루씬 인 액션』(에이콘, 2005)을 공역했으며, 오픈소스 영상처리 라이브러리를 다룬 오픈소스 라이브러리 실무 시리즈 도서를 펴낸 저자로도 잘 알려져 있다. 『MATLAB을 활용한 실용 디지털 영상처리』(홍릉과학, 2005), 『오픈소스 OpenCV를 이용한 컴퓨터 비전 실무 프로그래밍』(홍릉과학, 2007) 등 7권의 책을 저술했으며, 번역서로는 에이콘출판사에서 출간한 『OpenCV 2 Computer Vision Application Programming Cookbook 한국어판』(2012), 『(개정판) OpenCV를 활용한 컴퓨터 비전 프로그래밍』(2015), 『matplotlib을 이용한 데이터 시각화 프로그래밍』(2015), 『OpenCV 컴퓨터 비전 프로젝트』(2016), 『매트랩 영상처리 프로그래밍』(2016), 『매트랩 영상처리 프로그래밍』(2016), 『매트랩 그래픽과 데이터 시각화』(2017)가 있다.

정보제공 : Aladin

목차

목차
저자 소개 = 7
기술 감수자 소개 = 8
옮긴이 소개 = 11
옮긴이의 말 = 12
들어가며 = 19
1 영상처리 준비 = 25
 소개 = 26
 OpenCV 라이브러리 설치 = 26
 마이크로소프트 비주얼 C++로 OpenCV 프로젝트 만들기 = 30
 At로 OpenCV 프로젝트 만들기 = 40
 영상을 불러들이고, 보여주고, 저장하기 = 47
 Qt를 이용한 GUI 애플리케이션 생성 = 54
2 화소 다루기 = 63
 소개 = 64
 화소값에 접근 = 65
 포인터로 영상 조회 = 68
 반복자로 영상 조회 = 78
 영상을 조회하기 위한 효율적인 반복문 = 82
 이웃 접근으로 영상 조회 = 87
 간단한 영상 산술 연산 실행 = 91
 관심 영역 정의 = 96
3 영상처리 클래스 구현 = 101
 소개 = 102
 알고리즘 설계 과정에서 전략 패턴 사용 = 102
 처리 모듈 간의 통신을 위한 컨트롤러 사용 = 110
 싱글턴 디자인 패턴 사용 = 116
 애플리케이션 설계 위한 모델-뷰-컨트롤러 구조 사용 = 119
 컬러 공간 변환 = 123
4 히스토그램을 이용한 화소 개수 세기 = 129
 소개 = 130
 히스토그램 계산 = 130
 영상 모습을 수정하기 위한 룩업 테이블 적용 = 139
 영상 히스토그램 평활화 = 143
 영상 내 특정 내용을 감지하기 위한 히스토그램 역투영 = 145
 객체를 찾기 위한 평균 이동 알고리즘 사용 = 152
 히스토그램 비교를 이용한 유사 영상 검색 = 157
5 형태학 연산을 이용한 영상 변환 = 163
 소개 = 164
 형태학 필터를 이용한 영상 침식과 팽창 = 164
 형태학 필터를 이용한 영상 열림과 닫힘 = 169
 형태학 필터를 이용한 에지와 코너 감지 = 172
 워터쉐드를 이용한 영상 분할 = 179
 그랩컷 알고리즘으로 전경 객체 추출 = 185
6 영상 필터 처리 = 191
 소개 = 192
 저주파 필터를 이용한 영상 필터링 = 193
 중간값 필터를 이용한 영상 필터링 = 198
 에지 감지를 위한 방향성 필터 적용 = 200
 영상에 대한 라플라시안 계산 = 209
7 선, 외곽선, 컴포넌트 추출 = 217
 소개 = 218
 캐니 연산자로 영상 외곽선 감지 = 218
 허프 변환으로 영상 내 선 감지 = 222
 선을 점집합으로 맞추기 = 235
 컴포넌트의 외곽선 추출 = 239
 컴포넌트의 모양 기술자 계산 = 243
8 관심점 감지와 매칭 = 249
 소개 = 250
 해리스 코너 감지 = 250
 FAST 특징 감지 = 263
 크기 불변 SURF 특징 감지 = 267
 SURF 특징 기술 = 273
9 영상 내 투영 관계 추정 = 281
 소개 = 282
 영상 변환 = 282
 카메라 교정 = 284
 한 쌍의 영상에 대한 기본 행렬 계산 = 294
 RANSAC을 이용한 영상 매칭 = 300
 두 영상 간의 호모그래피 계산 = 312
10 비디오 시퀀스 처리 = 317
 소개 = 318
 비디오 시퀀스 읽기 = 318
 비디오 프레임 처리 = 323
 비디오 시퀀스 쓰기 = 335
 비디오 내 특징점 추적 = 341
 비디오 내 전경 객체 추출 = 349
찾아보기 = 357

관련분야 신착자료

National Academies of Sciences, Engineering, and Medicine (U.S.) (2020)
Cartwright, Hugh M. (2021)
한국소프트웨어기술인협회. 빅데이터전략연구소 (2021)