Top

[컴퓨터 비전 애플리케이션 구축을 위한]
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 기반 가속 같은 몇몇 고급 주제에 중점을 둔다.

저자/역자 소개

저자 서문

OpenCV는 분명히 가장 널리 사용되는 컴퓨터 비전 라이브러리이며, 학계와 산업 분야에서 광범위하게 사용되는 수백 가지 영상처리와 비전 함수를 포함한다. 카메라가 저렴해지고 영상 기능이 수요에 따라 증가함에 따라, OpenCV를 활용한 애플리케이션의 범위가 상당히 늘어나고 있으며 특히 모바일 플랫폼의 경우 더욱 그렇다.

컴퓨터 비전 라이브러리인 OpenCV는 다음과 같이 두 가지 큰 장점을 제공한다.

■ 오픈소스이며, 모든 사람이 학계 수준이나 실생활 프로젝트 중에 무료로 사용할 수 있다.
■ 가장 풍부하면서도 컴퓨터 비전 함수의 최신 모음이 담겨 있다.

OpenCV는 컴퓨터 비전, 영상처리와 비디오 처리, 기계 학습의 최첨단 연구를 제공한다.

OpenCV에 관해 처음 출간된 책에서는 대략적인 이론적 접근 방식을 제공했으며, 기본 컴퓨터 비전 기술을 설명했다. 이후에 출간된 OpenCV 책들에서는 정반대인 접근 방식을 채택해 페이지별로 따라 하기가 어려운, 규모가 큰 예제(거의 완전한 애플리케이션)를 가지고 설명을 풀어냈다. 큰 예제는 따라 하기가 어려우며 독자가 프로젝트에 쉽게 재사용할 수도 없다. 여러 페이지에 걸쳐 설명되는 예제는 책의 형태에 그다지 적합하지 않다. 예제는 이해하기 쉬워야 하고, 독자가 프로젝트를 수행할 때 예제를 돌려보는 데 필요한 시간을 줄일 수 있도록 빌딩 블록을 사용할 수 있어야 한다. 결과적으로 이 책에서 함수의 방대한 영역을 다루면서도, 좀 더 간결하되 따라 하기 쉬운 예제를 통해 실용적인 접근 방식을 취했다. 이 책에 나오는, OpenCV를 다룬 경험을 녹여낸 예제들은 가장 가치 있는 내용이라 자부한다.

저자 소개

오스카 데니즈 수아레즈(Oscar Deniz Suarez)

저널과 학회에 50개 이상의 인용된 논문을 낸 저자다. 연구 관심 분야는 주로 컴퓨터 비전과 패턴 인식으로서, AERFAI가 주최한 컴퓨터 비전과 패턴 인식 분야의 최고 PhD 연구 대회에서 준우승 격인 러너업 어워드를 수상했고, 이노센티브(InnoCentive) 사에서 주관하는 이미지 파일과 재포맷화 소프트웨어 챌린지(Image File and Reformatting Software challenge)에서 상을 받았다. 2009년 코르 바야옌 어워드(Cor Baayen awards)의 전국 결선에도 진출했다. 그의 결과물은 Existor, GLIF, TapMedia, E-Twenty 같은 최첨단 회사에서 활용되고 있으며, OpenCV에도 추가됐다. 현재 카스티야 라 만차(Castilla-La Mancha) 대학교의 부교수로 근무하며, 비지랩스(Visilabs)에 협력한다. IEEE의 수석 회원이며 AAAI, SIANI, CEA-IFAC, AEPIA, AERFAI-IAPR과 컴퓨터 비전 재단 소속이다. PLOS ONE 저널의 학술 편집자로 일한다. 미국의 카네기 멜론 대학교, 펜실베이니아 대학교, 영국 런던의 임페리얼 칼리지, 아일랜드의 레시카 바이오시스템즈의 방문 연구원이었다. 모바일 디바이스용 OpenCV 프로그래밍에 관한 책을 공저했다.

마 델 밀라그로 페르난데즈 카로블즈(Mª del Milagro Fernandez Carrobles)

2010년과 2011년에 각각 카스티야 라 만차 대학교에서 컴퓨터과학 학사 학위와 물리수학 석사 학위를 받았다. 현재 박사 과정에 있으며, 비지랩스에 근무한다. 관심 분야는 영상처리와 인공지능 등이며, 특히 의료 영상에 관심이 많다.

노엘리아 발레즈 에나노(Noelia Vallez Enano)

10대 시절에 별다르게 한 일은 없지만, 어린 시절부터 컴퓨터를 좋아했다. 2009년에 카스티야 라 만차 대학교에서 컴퓨터과학 공부를 마쳤다. 유방촬영술 CAD 시스템과 전자 건강 기록에 관한 프로젝트를 통해 비지랩스 그룹에서 근무를 시작했다. 그 후 물리수학 분야에서 석사 학위를 받고, 박사 과정에도 등록했다. 영상처리와 패턴 인식 방법론을 활용한 연구를 수행 중이다. 인공지능의 다양한 분야에 관해 가르치고 일하길 좋아한다.

글로리아 부에노 가르시아(Gloria Bueno Garcia)

영국의 코번트리 대학교에서 머신 비전 박사 학위를 받았다. 프랑스의 CNRS UMR 7005 연구소, 프랑스 스트라스부르의 루이 파스퇴르(Louis Pasteur) 대학교, 영국의 길버트 길케스 앤 고든 테크놀로지(Gilbert Gilkes and Gordon Technology), 스페인의 CEIT 산 세비티안(San Sebatian) 같은 여러 연구 센터에서 책임 연구원으로 근무한 경험이 있다. 2건의 특허를 보유하고 있으며, 등록된 소프트웨어를 개발하기도 했으며, 100개 이상의 인용된 논문을 낸 저자이기도 하. 관심 분야는 2D/3D 다양상(multimodality) 영상처리와 인공지능이다. 카스티야 라 만차 대학교의 비지랩스 연구 그룹을 이끌며, 모바일 디바이스용 OpenCV 프로그래밍에 관한 책을 공저했다.

이스마엘 세라노 가르시아(Ismael Serrano Gracia)

카스티야 라 만차 대학교에서 컴퓨터과학 학사 학위를 받았다. 인간 검출에 관한 최종 학위 프로젝트에서 최고 점수를 기록했다. 이 애플리케이션은 OpenCV 라이브러리를 이용한 깊이 카메라를 사용한다. 현재 동 대학교에서 박사 과정을 밟고 있으며, 비지랩스 그룹에서 연구 조교로, 그리고 그 밖의 컴퓨터 비전 주제에 관한 개발자로도 일한다.

훌리오 알베르토 파톤 인세르티스(Julio Alberto Patón Incertis)

카스티야 라 만차 대학교를 졸업했다. 컴퓨터과학 석사 학위 프로젝트 일환으로 컴퓨터 비전 애플리케이션 개발을 시작했다. 모바일 디바이스, 특히 안드로이드에 가장 관심이 많다. 텍스트를 찾아 추적한 후 인식하는 능력을 갖춘 시각 장애인용 플랫폼을 위한 모바일 애플리케이션을 만들었다. 이 애플리케이션은 이후 특허 출원 중인 실내 측위 시스템의 일부로 사용됐다. 예전부터 OpenCV는 그가 수행하는 모든 프로젝트의 필수 요소다.

헤수스 살리도 테르세로(Jesus Salido Tercero)

스페인의 마드리드 종합기술대학교에서 전기공학을 전공하고 박사 학위(1996년)를 받았다. 로봇 연구소(미국의 피츠버그에 있는 카네기 멜론 대학교)에서 방문 연구원으로 협업 멀티로봇 시스템을 연구하며 2년(1997/1998년)을 보냈다. 스페인의 카스티야 라 만차 대학교에 돌아온 후부터는, 로봇과 산업 정보에 관해 강의하거나 비전과 지능형 시스템에 대해 연구하는 데 노력을 쏟고 있다. 지난 3년간 모바일 디바이스용 비전 애플리케이션 개발에 노력해왔다. 모바일 디바이스용 OpenCV 프로그래밍에 관한 책을 공저했다.

옮긴이의 말

제가 MFC 기반의 OpenCV를 다룬 책을 처음 출간한 2007년만 해도 이 기술이 이토록 오랫동안 이어질 것이라고는 상상하지 못했습니다. 그 후부터 짧지도 길지도 않은 시간 속에 OpenCV가 학계와 산업계에서 가장 널리 사용되는 컴퓨터 비전 라이브러리로 거듭 진화하면서 국내외에서 수십 권 이상의 관련 서적이 출간됐습니다. 모든 OpenCV 책을 다 보지는 못했지만 저자의 집필 방식에 따라 이론을 기반으로 함수를 설명하는 책, 그리고 프로젝트를 중심으로 함수 사용법을 습득 혹은 병행하는 방법으로 설명하는 책, 크게 이와 같은 두 가지 형태로 나눌 수 있습니다. OpenCV가 제공하는 기능이 매우 방대해 책에 전부 담아낼 수 없고, 독자마다 원하는 내용이 다르기 때문입니다. 비록 첫술에 배부를 수 없겠지만, 학습 시간을 최대한 줄이면서 빠르게 이해하되 프로젝트에 바로 활용 가능한 지름길을 제공하는 책이 있으면 얼마나 좋을까요? 컴퓨터 비전이나 영상처리에 대한 기본 지식이 어느 정도 필요하겠지만, 어찌 보면 이것은 저자와 독자 모두의 바람일 수 있습니다.

스페인에 있는 카스티야 라 만차 대학교 비지랩스 연구실의 오스카 데니즈 수아레즈 교수와 연구원 여섯 분이 이 같은 현실을 반영하고 OpenCV와 관련된 프로젝트 수행 경험을 살려 최신 OpenCV 버전을 중심으로 다루되 실무 접근 방식으로 명쾌하게 풀어나간 책을 출간했습니다. 바로 아마존에서 좋은 평가와 더불어 찬사까지 이끌어낸 이 책 『OpenCV 프로그래밍』입니다.

이 책은 영상처리와 컴퓨터 비전에 필요한 OpenCV의 핵심 함수를 중심으로 영상과 비디오 처리부터 시작해 사용자 인터페이스 생성, 영상처리 기본 지식, 더 나아가 영상 분할, 2D 특징 추출, 학습과 객체 검출, 모션 추적, 기계학습, GPU 기반 가속까지 예제를 중심으로 점진적으로 다루며, 필요에 따라 찾아볼 수 있는 참고서로도 활용할 수 있습니다. 이 책의 특성상 어디까지나 OpenCV를 좀 더 깊게 이해하고 잘 활용하기 위한 방법을 중심으로 다루므로, 영상처리와 컴퓨터 비전 관련 이론에 대해서는 자세히 언급하지 않음을 감안하길 바랍니다. 참고로 이 책은 OpenCV 2.4.X 버전 중심이지만 로버츠 라가니에 교수의 『OpenCV 2를 활용한 컴퓨터 비전 프로그래밍』의 개정판 원서에서 다루지 않은 OpenCV 3.0의 곧 공개될 특징 추출 알고리즘 등의 내용도 설명하고 있으므로, 현재로서 이 책은 최신 OpenCV의 흐름을 잘 반영하고 있다고 생각합니다.

옮긴이 소개

이문호

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

목차

목차
  • 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.100 아래에서 3행 : '몇일'동안 -> 며칠동안

정오표

정오표

[p.54 : 본문 11행]