HOME > Detail View

Detail View

(러닝!) OpenCV 3 : OpenCV 라이브러리 창시자가 알려주는 컴퓨터 비전 완벽 가이드 (Loan 4 times)

Material type
단행본
Personal Author
Kaehler, Adrian Bradski, Gary R., 저 장길호, 역 정태석, 역 신재익, 역 정은식, 역 전향란, 역 윤훈남, 역
Title Statement
(러닝!) OpenCV 3 : OpenCV 라이브러리 창시자가 알려주는 컴퓨터 비전 완벽 가이드 / 아드리안 캘러, 개리 브래드스키 지음 ; 장길호 [외]옮김
Publication, Distribution, etc
파주 :   위키북스,   2018  
Physical Medium
xxxvii, 1004 p. : 삽화 ; 24 cm
Series Statement
위키북스 데이터 사이언스 시리즈 = DS ; 014
Varied Title
Learning OpenCV 3 : computer vision in C++ with the OpenCV library
ISBN
9791158390969
General Note
공역자: 정태석, 신재익, 정은식, 전향란, 윤훈남  
부록: A. 평면 분할, B. opencv_contrib, C. 캘리브레이션 패턴  
Bibliography, Etc. Note
참고문헌(p. [975]-989)과 색인수록
Subject Added Entry-Topical Term
Computer vision
000 00000cam c2200205 c 4500
001 000045954855
005 20180914173407
007 ta
008 180913s2018 ggka b 001c kor
020 ▼a 9791158390969 ▼g 93000
035 ▼a (KERIS)BIB000014803130
040 ▼a 211044 ▼c 211044 ▼d 221016 ▼d 211009
041 1 ▼a kor ▼h eng
082 0 4 ▼a 006.37 ▼2 23
085 ▼a 006.37 ▼2 DDCK
090 ▼a 006.37 ▼b 2018z3
100 1 ▼a Kaehler, Adrian ▼0 AUTH(211009)122828
245 2 0 ▼a (러닝!) OpenCV 3 : ▼b OpenCV 라이브러리 창시자가 알려주는 컴퓨터 비전 완벽 가이드 / ▼d 아드리안 캘러, ▼e 개리 브래드스키 지음 ; ▼e 장길호 [외]옮김
246 1 9 ▼a Learning OpenCV 3 : ▼b computer vision in C++ with the OpenCV library
260 ▼a 파주 : ▼b 위키북스, ▼c 2018
300 ▼a xxxvii, 1004 p. : ▼b 삽화 ; ▼c 24 cm
440 0 0 ▼a 위키북스 데이터 사이언스 시리즈 = ▼x DS ; ▼v 014
500 ▼a 공역자: 정태석, 신재익, 정은식, 전향란, 윤훈남
500 ▼a 부록: A. 평면 분할, B. opencv_contrib, C. 캘리브레이션 패턴
504 ▼a 참고문헌(p. [975]-989)과 색인수록
630 0 0 ▼a OpenCV
650 0 ▼a Computer vision
700 1 ▼a Bradski, Gary R., ▼e▼0 AUTH(211009)129879
700 1 ▼a 장길호, ▼e
700 1 ▼a 정태석, ▼e▼0 AUTH(211009)116650
700 1 ▼a 신재익, ▼e
700 1 ▼a 정은식, ▼e▼0 AUTH(211009)37598
700 1 ▼a 전향란, ▼e
700 1 ▼a 윤훈남, ▼e
900 1 0 ▼a 캘러, 아드리안, ▼e
900 1 0 ▼a 브래드스키, 개리, ▼e
945 ▼a KLPA

Holdings Information

No. Location Call Number Accession No. Availability Due Date Make a Reservation Service
No. 1 Location Main Library/Monographs(3F)/ Call Number 006.37 2018z3 Accession No. 111796895 Availability Available Due Date Make a Reservation Service B M

Contents information

Book Introduction

OpenCV는 보안, 의료 이미징, 패턴 및 얼굴 인식, 로봇 공학 그리고 공장 제품 검사와 같은 다양한 상업용 응용 프로그램에 사용하는 500개 이상의 함수를 제공한다. 이 책은 컴퓨터 비전과 OpenCV의 확실한 기초 지식을 제공하고 간단하거나 정교한 비전 응용 프로그램을 작성할 수 있게 해준다. 각 장의 실전 연습 문제를 통해 배운 내용을 적용해 볼 수 있다.

빠르게 팽창하고 있는 컴퓨터 비전 기술 분야를 이 실용서로 시작하라. 오픈 소스 OpenCV 라이브러리 창시자인 아드리안 캘러(Adrian Kaehler)와 개리 브래드스키(Gary Bradski)가 쓴 이 책은 개발자와 재미로 읽는 독자를 위한 완벽한 소개서다. 이 책을 통해 컴퓨터가 데이터를 ‘보고’ 결정을 내리는 응용 프로그램을 작성하기 위해 알아야 할 방법을 배울 것이다.

OpenCV는 보안, 의료 이미징, 패턴 및 얼굴 인식, 로봇 공학 그리고 공장 제품 검사와 같은 다양한 상업용 응용 프로그램에 사용하는 500개 이상의 함수를 제공한다. 이 책은 컴퓨터 비전과 OpenCV의 확실한 기초 지식을 제공하고 간단하거나 정교한 비전 응용 프로그램을 작성할 수 있게 해준다. 각 장의 실전 연습 문제를 통해 배운 내용을 적용해 볼 수 있다.

이 책은 컴퓨터 비전을 위한 머신러닝 도구를 포함해 최신 C++로 구현한 OpenCV 라이브러리 전체를 다룬다.

★ 이 책에서 다루는 내용 ★

◎ OpenCV 데이터 타입과 배열 타입, 배열 연산 학습
◎ HighGUI를 이용한 정지/동영상 이미지 캡처와 저장
◎ 늘이기, 줄이기, 워핑, 재매핑 및 복구를 위한 이미지 변환
◎ 얼굴 탐지를 포함한 패턴 인식 탐구
◎ 시각 필드를 통한 객체와 모션 추적
◎ 스테레오 비전으로 3D 이미지 재구성
◎ OpenCV의 기본/고급 머신러닝 기술


Information Provided By: : Aladin

Author Introduction

아드리안 캘러(지은이)

사업가이자 실리콘 밸리 딥 러닝 그룹의 설립자다. 그의 연구 작업은 머신러닝, 통계 모델링, 컴퓨터 비전 및 로봇 공학 관련 주제를 포함한다. 그는 스탠퍼드 대학 인공지능 연구소에서 일했고 DARPA 그랜드 챌린지에서 우승한 스탠리 경주팀의 멤버였다.

개리 브래드스키(지은이)

어레이(Arraiy.com)의 CTO로 과거 여러 스타트업 기업에서 직책을 맡았고 스탠퍼드 대학 인공지능 연구소의 컴퓨터 과학과 컨설팅 교수로 재직했다. 그는 OpenCV 라이브러리의 창시자이자 유명 발표자이며 오픈 소스 공동체의 기여자다.

장길호(옮긴이)

정보통신학을 전공했고 DjVu 이미지와 PDF 기반의 전자 문서 솔루션 관련 프로젝트를 해왔다. 최신 C++ 표준 기술과 메타프로그래밍을 통한 표현력 있는 코드의 작성에 관심이 많다.

정태석(옮긴이)

명지대학교 공과대학에서 컴퓨터공학을 전공했다. 영상 보안 전문기업 아이디스에서 S/W 개발을 담당했고 IT 스타트업 “BUILDLIM”을 운영하기도 했다. 현재 안광학의료기기 업체인 HUVITZ에서 안광학S/W 연구원으로 의료영상저장 표준인 DICOM 관련 개발을 담당하고 있다.

신재익(옮긴이)

초등학교 때 GW-Basic과 MS-DOS로 컴퓨터에 입문하고 연세대 대학원에서 C++와 리눅스로 입자물리학을 공부했다. 졸업 후 국립암센터와 한국원자력의학원에서 DICOM 의료 영상과 방사선치료에 대한 GEANT4 몬테카를로 시뮬레이션을 연구했다.

정은식(옮긴이)

한국산업기술대학교 컴퓨터공학과에 진학하며 컴퓨터 프로그래밍을 시작했다. C++, 머신러닝, 영상처리, 서버, 최적화 분야에 관심이 많다.

전향란(옮긴이)

cdism.com 소속으로 facebook.com/groups/OpenCPP “C++, OpenSource Study”를 운영하고 있다. 무엇보다 C++ 최신 스펙과 C++의 표현력을 발전시키는 데 관심이 많다. C++ 기반의 오픈 소스 프로젝트를 기획하고 진행한다.

윤훈남(옮긴이)

cdism.com 소속으로 facebook.com/groups/OpenCPP “C++, OpenSource Study”를 운영하고 있다. 무엇보다 C++ 최신 스펙과 C++의 표현력을 발전시키는 데 관심이 많다. C++ 기반의 오픈 소스 프로젝트를 기획하고 진행한다.

Information Provided By: : Aladin

Table of Contents

▣ 01장: 개요 
OpenCV란? 
OpenCV는 누가 사용하는가? 
컴퓨터 비전이란? 
OpenCV의 기원 
___OpenCV 블록 다이어그램 
___IPP를 이용한 OpenCV의 성능 향상 
___누가 OpenCV를 소유하는가? 
OpenCV 다운로드 및 설치 
___설치 
Git으로 최신 OpenCV 얻기 
OpenCV에 대한 더 많은 문서 
___제공되는 문서 
___온라인 문서와 위키 
OpenCV Contribution 저장소 
___Contributed 모듈 다운로드하고 빌드하기 
이식성 
요약 
연습 문제 

▣ 02장: OpenCV 소개 
Include 파일 
___관련 자료 
첫 번째 프로그램 - 이미지 출력 
두 번째 프로그램 - 비디오 
재생 위치 이동하기 
___간단한 변환 
별로 단순하지 않은 변환 
카메라 입력 
AVI 파일에 쓰기 
요약 
연습 문제 

▣ 03장: OpenCV 데이터 타입 알아보기 
기본 사항 
OpenCV 데이터 타입 
___기본 데이터 타입의 개요 
___기본 데이터 타입: 세부사항 알아보기 
___도우미 객체 
___유틸리티 함수 
___템플릿 구조 
요약 
연습 문제 

▣ 04장: 이미지 및 대형 배열 타입 
동적 및 가변 저장장치 
___cv::Mat 클래스: N차원의 밀집 배열 
___배열 만들기 
___배열의 개별 요소 접근하기 
___다차원 배열 반복자: NAryMatIterator 
___블록 단위로 배열 요소 접근 
___행렬 표현식: 대수학과 cv::Mat 
___포화 캐스팅 
___배열로 할 수 있는 더 많은 것 
___cv::SparseMat 클래스: 희소 배열 
___희소 배열의 요소에 접근하기 
___희소 배열에 있는 고유한 함수들 
___대형 배열 타입의 템플릿 구조 
요약 
연습 문제 

▣ 05장: 배열 연산 
배열 타입으로 할 수 있는 더 많은 일 
___cv::abs() 
___cv::absdiff() 
___cv::add() 
___cv::addWeighted() 
___cv::bitwise_and() 
___cv::bitwise_not() 
___cv::bitwise_or() 
___cv::bitwise_xor() 
___cv::calcCovarMatrix() 
___cv::cartToPolar() 
___cv::checkRange() 
___cv::compare() 
___cv::completeSymm() 
___cv::convertScaleAbs() 
___cv::countNonZero() 
___cv::cvarrToMat() 
___cv::dct() 
___cv::dft() 
___cv::cvtColor() 
___cv::determinant() 
___cv::divide() 
___cv::eigen() 
___cv::exp() 
___cv::extractImageCOI() 
___cv::flip() 
___cv::gemm() 
___cv::getConvertElem()과 cv::getConvertScaleElem() 
___cv::idct() 
___cv::idft() 
___cv::inRange() 
___cv::insertImageCOI() 
___cv::invert() 
___cv::log() 
___cv::LUT() 
___cv::magnitude() 
___cv::Mahalanobis() 
___cv::max() 
___cv::mean() 
___cv::meanStdDev() 
___cv::merge() 
___cv::min() 
___cv::minMaxIdx() 
___cv::minMaxLoc() 
___cv::mixChannels() 
___cv::mulSpectrums() 
___cv::multiply() 
___cv::mulTransposed() 
___cv::norm() 
___cv::normalize() 
___cv::perspectiveTransform() 
___cv::phase() 
___cv::polarToCart() 
___cv::pow() 
___cv::randu() 
___cv::randn() 
___cv::randShuffle() 
___cv::reduce() 
___cv::repeat() 
___cv::scaleAdd() 
___cv::setIdentity() 
___cv::solve() 
___cv::solveCubic() 
___cv::solvePoly() 
___cv::sort() 
___cv::sortIdx() 
___cv::split() 
___cv::sqrt() 
___cv::subtract() 
___cv::sum() 
___cv::trace() 
___cv::transform() 
___cv::transpose() 
요약 
연습 문제 

▣ 06장: 그리기와 주석 달기 
도형 그리기 
___라인 아트와 채워진 다각형 
___폰트와 텍스트 
요약 
연습 문제 

▣ 07장: OpenCV 펑터 
작업 처리 객체 
___주성분 분석(cv::PCA) 
___특이값 분해(cv::SVD) 
___난수 생성기(cv::RNG) 
요약 
연습 문제 

▣ 08장: 이미지, 비디오, 데이터 파일 
HighGUI: 포터블 그래픽 툴킷 
___이미지 파일 다루기 
___이미지 로딩과 저장 
___코덱에 대한 참고 사항 
___압축과 압축 해제 
비디오 다루기 
___cv::VideoCapture 객체로 비디오 읽기 
___cv::VideoWriter 객체로 비디오 쓰기 
데이터 지속성 
___cv::FileStorage에 쓰기 
___cv::FileStorage에서 읽기 
___cv::FileNode 
요약 
연습 문제 

▣ 09장: 크로스 플랫폼과 기본 윈도우 
윈도우 작업 
___HighGUI 기본 그래픽 유저 인터페이스 
___Qt 백엔드로 작업하기 
___전체 GUI 툴킷과 OpenCV 통합 
요약 
연습 문제 

▣ 10장: 필터와 컨벌루션 
개요 
시작하기 전에 
___필터, 커널, 컨벌루션 
___테두리 외삽법과 바운더리 조건 
경계값 연산 
___오츠(Otsu)의 알고리즘 
___적응형 경계값 
스무딩 
___단순 블러 및 박스 필터 
___메디안 필터 
___가우시안 필터 
___바이레터럴 필터 
미분 및 그래디언트 
___소벨 미분 
___샤르(Scharr) 필터 
___라플라시안 
이미지 모폴로지 
___팽창과 침식 
___일반 모폴로지 함수 
___열림과 닫힘 연산 
___탑햇과 블랙햇 연산 
___자신만의 커널 만들기 
임의의 선형 필터를 사용한 컨벌루션 
___cv::filter2D()로 일반적인 필터 만들기 
___cv::sepFilter2D를 사용해 분리 가능한 일반 필터 만들기 
커널 빌더 
요약 
연습 문제 

▣ 11장: 일반 이미지 변환 
개요 
늘이기, 줄이기, 왜곡하기, 회전하기 
___균일 크기 조절 
___이미지 피라미드 
___비균일 매핑 
___아핀 변환 
___원근 변환 
일반적인 재매핑 
___극좌표 매핑 
___로그 극좌표(LogPolar) 
___임의의 매핑 
이미지 복구 
___인페인팅 
___노이즈 제거 
히스토그램 평활화 
___cv::equalizeHist(): 콘트라스트 평활화 
요약 
연습 문제 

▣ 12장: 이미지 분석 
개요 
이산 푸리에 변환 
___cv::dft(): 이산 푸리에 변환 
___cv::idft(): 역 이산 푸리에 변환 
___cv::mulSpectrums(): 스펙트럼 곱셈 
___이산 푸리에 변환을 이용한 컨벌루션 
___cv::dct(): 이산 코사인 변환 
___cv::idct(): 역 이산 코사인 변환 
적분 이미지 
___표준 합산 적분을 위한 cv::integral() 
___제곱 합산 적분을 위한 cv::integral() 
___기울어진 합산 적분을 위한 cv::integral() 
캐니 엣지 검출기 
cv::Canny() 
허프 변환 
___허프 선 변환 
___허프 원 변환 
거리 변환 
___cv::distanceTransform(): 라벨이 없는 거리 변환 
___cv::distanceTransform(): 라벨이 붙는 거리 변환 
세그멘테이션 
___색 채움(Flood Fill) 
___그랩컷 
___평균 이동 세그멘테이션 
요약 
연습 문제 

▣ 13장: 히스토그램과 템플릿 
OpenCV의 히스토그램 데이터 표현 
___cv::calcHist(): 데이터에서 히스토그램 만들기 
히스토그램을 이용한 기본 조작 
___히스토그램 정규화 
___히스토그램 경계값 
___가장 인기 있는 빈 찾기 
___두 히스토그램 비교하기 
더 복잡한 히스토그램 메서드 
___불도저 거리 
역투영 
템플릿 매칭 
___제곱 차이 매칭 메서드(cv::TM_SQDIFF) 
요약 
연습 문제 

▣ 14장: 윤곽선 
윤곽선 찾기 
___윤곽선 계층 구조 
___윤곽선 그리기 
___윤곽선 예제 
___다른 윤곽선 예제 
___신속한 연결된 구성 요소 분석 
윤곽선을 이용한 더 많은 작업 
___다각형 근사법 
___기하학 및 요약 특성 
___기하학적 테스트 
윤곽선과 이미지 매칭 
___모멘트 
___모멘트에 대한 추가 정보 
___Hu 모멘트와 매칭 
___형상 컨텍스트를 사용해 형상 비교하기 
요약 
연습 문제 

▣ 15장: 배경 분리 
배경 분리의 개요 
배경 분리의 약점 
장면 모델링 
___픽셀의 슬라이스 
___프레임 간 차이 
평균화된 배경 메서드 
___누적된 평균, 분산, 공분산 
더 진보된 배경 분리 메서드 
___구조체 만들기 
___배경 러닝하기 
___움직이는 전경 객체에서 러닝하기 
___배경 차분으로 전경 객체 찾기 
___코드북 배경 모델 사용하기 
___코드북 모델에 대한 몇 가지 생각 
배경을 정리하는 연결된 구성 요소 
___빠른 테스트 
두 배경 메서드 비교하기 
OpenCV에서 배경 분리 구현 
___cv::BackgroundSubtractor 기반 클래스 
___KB 메서드 
___지브코비치 메서드 
___cv::BackgroundSubtractorMOG2 클래스 
요약 
연습 문제 

▣ 16장: 키포인트와 기술자 
키포인트와 트래킹의 기초 
___코너 찾기 
___옵티컬 플로우 소개 
___희소 옵티컬 플로우를 위한 루카스-카나데 메서드 
일반화된 키포인트와 기술자 
___옵티컬 플로우, 트래킹, 인식 
___OpenCV가 키포인트와 기술자를 제어하는 일반적인 방법 
___핵심 키포인트 검출 메서드 
___해리스-시-토마시(Harris-Shi-Toma 
___피처 검출기와 cv::GFTTDetector 
___키포인트 필터링 
___매칭 메서드 
___결과 표시하기 
요약 
연습 문제 

▣ 17장: 트래킹 
트래킹 개념 
밀집 옵티컬 플로우 
___파네백 다항식 확장 알고리즘 
___듀얼 TV-L1 알고리즘 
___단순 플로우 알고리즘 
평균 이동과 캠시프트 트래킹 
___평균 이동 
___캠시프트 
모션 템플릿 
추정기 
___칼만 필터 
___확장 칼만 필터에 대한 간략한 설명 
요약 
연습 문제 

▣ 18장: 카메라 모델과 캘리브레이션 
카메라 모델 
___투영 기하학의 기초 
___로드리게스 변환 
___렌즈에 의한 왜곡 
캘리브레이션(Calibration) 
___회전 행렬과 평행 이동 벡터 
___캘리브레이션용 보드 
___호모그래피 
___카메라 캘리브레이션 
왜곡 제거 
___왜곡 제거 지도 
___cv::convertMaps()를 사용해 왜곡 제거 지도의 표현 변환하기 
___cv::initUndistortRectifyMap()을 사용해 왜곡 제거 지도 계산하기 
___cv::remap()을 사용한 이미지의 왜곡 제거 
___cv::undistort()를 사용한 왜곡 제거 
___cv::undistortPoints()를 사용한 희소 왜곡 제거 
모두 한꺼번에 캘리브레이션하기 
요약 
연습 문제 

▣ 19장: 투영과 3차원 비전 
투영 
아핀과 원근 변환 
___조감도 변환 예제 
3차원 자세 추정 
___단일 카메라를 이용한 자세 추정 
스테레오 이미징 
___삼각 측량 
___에피폴라 기하 구조 
___필수 및 기본 행렬 
___에피폴라 선 계산하기 
___스테레오 캘리브레이션 
___스테레오 정류 
___스테레오 대응 
___스테레오 캘리브레이션, 정류, 대응 코드 예제 
___3차원 재투영을 통한 깊이 맵 
모션 구조 
2차원 및 3차원 라인 피팅 
요약 
연습 문제 

▣ 20장: OpenCV에서의 머신러닝 기본 
머신러닝이란? 
___훈련 집합과 테스트 집합 
___지도 러닝과 비지도 러닝 
___생성 모델과 판별 모델 
___OpenCV의 ML 알고리즘 
___비전에서 머신러닝 사용하기 
___변수 중요성 
___머신러닝 문제 진단하기 
ML 라이브러리의 레거시 루틴 
___K-평균 
___마할라노비스 거리 
요약 
연습 문제 

▣ 21장: StatModel: 머신러닝을 위한 OpenCV 표준 모델 
ML 라이브러리의 일반 루틴 
___훈련과 cv::ml::TrainData 구조체 
___예측 
cv::StatModel을 사용한 머신러닝 알고리즘 
___단순/일반 베이즈 분류기 
___바이너리 의사 결정 트리 
___부스팅 
___랜덤 트리 
___기댓값 최대화 
___K-최근접 이웃(KNN) 
___다층 퍼셉트론(MLP) 
___SVM(서포트 벡터 머신) 
요약 
연습 문제 

▣ 22장: 객체 검출 
트리 기반 객체 검출 기법 
___캐스케이드 분류기 
___지도 학습 및 부스팅 이론 
___새로운 객체 훈련 
서포트 벡터 머신을 이용한 객체 검출 
___객체 검출을 위한 Latent SVM 
___Bag of Words 알고리즘과 의미에 의한 분류 
요약 
연습 문제 

▣ 23장: OpenCV의 미래 
과거와 현재 
___OpenCV 3.x 버전 
이전에 예측한 내용이 얼마나 맞을까? 
OpenCV의 미래 
___현재 GSoC(Google Summer of Code) 작업 
___커뮤니티 기여 
___OpenCV.org 
인공 지능에 대한 일부 억측 
책을 마치며 

▣ 부록A: 평면 분할 
들로네 삼각 분할, 보로노이 터셀레이션 
___들로네 또는 보로노이 재분할 
___들로네 재분할 탐색하기 
___사용 예제 
연습 문제 

▣ 부록B: opencv_contrib 
opencv_contrib 모듈의 개요 
___opencv_contrib의 내용 

▣ 부록C: 캘리브레이션 패턴 
___OpenCV가 사용하는 캘리브레이션 패턴

New Arrivals Books in Related Fields

Baumer, Benjamin (2021)
데이터분석과인공지능활용편찬위원회 (2021)
Harrison, Matt (2021)