스크랩

구간

OpenCV로 배우는 영상 처리 및 응용

정성환, 배종욱 저 | 생능출판 | 2017년 03월

북트리

정가
$70.00
판매가
$56.70 (19%↓) 최저가 보상
적립금
$1.13 (2%P)
출고예상일
2026년 10월 08일 수령예상일 안내
북카트 담기 바로구매하기 위시리스트담기

평점 -  ·  리뷰 0

리뷰 쓰기

ISBN : 9788970508948 / 744쪽 190 x 241 (㎜)

이 상품에 궁금하신점이 있으세요? 1:1상담문의

추천inside
Adobe Flash Player 가져오기

이 분야의 베스트셀러

아래의 도서와 구매하시면 이 도서들의 적립금을 즉시적용해 드립니다.

  • 22,500
  • 19,800
  • 31,500
  • 20,700

책 소개

출판사 리뷰

이 책의 구성 이 책은 영상 처리 이론을 단계적으로 이해하는, 동시에 OpenCV를 사용해 영상 처리 이론을 구현해 본 기회를 독자들에게 제공하기 위해서 다음과 같이 3부로 구성되어 있다. ㆍ 제1부: 영상 처리 개요 및 OpenCV 소개 ㆍ 제2부: 영상 처리와 OpenCV 함수 활용 ㆍ 제3부: 영상 처리 응용 사례 1장에서는 영상 처리란 어떤 것인지에 관하여 설명하며, 영상 처리를 위한 OpenCV 라이브러리에 대한 일반적인 내용에 대해 소개한다. 2장에서는 OpenCV의 설치와 기본 환경 설정, 비... 이 책의 구성 이 책은 영상 처리 이론을 단계적으로 이해하는, 동시에 OpenCV를 사용해 영상 처리 이론을 구현해 본 기회를 독자들에게 제공하기 위해서 다음과 같이 3부로 구성되어 있다. ㆍ 제1부: 영상 처리 개요 및 OpenCV 소개 ㆍ 제2부: 영상 처리와 OpenCV 함수 활용 ㆍ 제3부: 영상 처리 응용 사례 1장에서는 영상 처리란 어떤 것인지에 관하여 설명하며, 영상 처리를 위한 OpenCV 라이브러리에 대한 일반적인 내용에 대해 소개한다. 2장에서는 OpenCV의 설치와 기본 환경 설정, 비주얼 스튜디오에서 OpenCV의 디렉터리를 설정하는 방법 등에 대해 학습한다. 3장에서는 클래스 기반의 OpenCV 데이터 구조와 그 사용법을 알아본다. 특히, OpenCV의 기본이 되는 Mat 클래스의 내부 메서드에 대해서 자세히 살펴본다. 4장에서는 OpenCV에서 제공하는 사용자 인터페이스를 위한 기본 함수인 그리기 함수들과 이벤트 함수들을 알아본다. 또한 처리 결과들을 저장하고, 필요한 데이터를 입력받을 수 있는 미디어(media) 및 데이터의 입출력 처리에 대해서도 알아본다. 5장에서는 OpenCV에서 지원하는 다양한 행렬 처리 함수들에 대해서 살펴본다. OpenCV는 Mat, Mat_, Matx 등으로 행렬을 생성할 수 있으며, 이 행렬을 처리할 수 있는 다양한 연산 함수를 지원한다. 6장에서는 영상의 화소인 행렬의 원소에 대한 처리 방법을 세부적으로 설명한다. 또한 행렬 내부 데이터의 조회 방법과 각 원소에 대한 처리 방법에 대해 기술한다. 7장에서는 공간 영역의 개념과 공간 영역을 기반으로 처리할 수 있는 필터링에 대해서 기술한다. 또한 마스크 기반의 에지 검출 방법과 형태학을 기반으로 하는 모폴로지(morphology)에 대해서 자세히 설명한다. 8장에서는 RST 변환을 비롯해서 다양한 기하학적 처리를 위한 기본적인 방법들에 대해서 배운다. RST 변환이라는 말한다. R은 Rotation, S는 Scaling, T는 Translation의 첫 글자이다. 9장에서는 영상을 데이터로 표현하는 데에는 크게 두 가지 영역으로 나누어 설명한다. 앞 장까지 우리가 배웠던 것이 바로 화소값이 직접 표현된 공간영역(spatial domain)이며, 다른 하나가 우주 공간과 같은 변환영역(transform domain)이다. 변환영역은 직교변환에 의해 얻어진 영상 데이터의 다른 표현이다. 여기서는 화소값이 직접 표현되는 것이 아니고 변환계수(coeffcient)로 표현된다. 10장에서는 영상 처리 및 컴퓨터 비전 응용에서 자주 사용되는 알고리즘들에 대해서 기술한다. 특징점 추출 방법 중에 직선을 검출하는 허프 변환, 객체 추적이나 영상 매칭에 사용되는 코너 검출기법, k-최근접 분류기 및 숫자 인식에 그 용용, 그리고 영화나 광고들에 사용될 수 있는 영상 워핑과 모핑 등을 살펴본다. 11장에서는 영상 처리 및 컴퓨터 비전 응용 사례들 중에서 기초적인 응용을 소개한다. 간단한 그림판 프로그램 만들기, 영상에서 얼굴 검출 및 남녀 맞추기, 히스토그램을 이용한 영상 검색과 같은 영상 처리 응용에 자주 사용되는 알고리즘들에 대해서 기술한다. 12장에서는 영상 처리 및 컴퓨터 비전 응용 중에서 심화 과제로 다루어 볼 수 있는 사례들을 소개한다. 다양한 응용 서비스의 요구와 심화된 프로그램의 작성 기법을 배움으로써 개인의 졸업 작품이나 팀 프로젝트에 활용할 수 있는 기회를 만들고자 한다. 특히, 색상 히스토그램을 이용한 동전 인식 프로그램과 SVM(Support Vector Machine)을 이용한 차량번호판 검출, 그리고 k-NN(k-Nearest Neighbor) 알고리즘을 이용한 차량 번호 인식을 소개한다.

저자 소개

  • 저자 : 정성환, 배종욱
정성환은
경북대학교 대학원 영상 처리 전공(공학박사)
미국 캘리포니아 주립대학(UCSB) Post-Doc
미국 콜로라도 CSM 주립대학 교환교수
미국 워싱턴 주립대학(UW) 연구교수
독일 콘스탄츠대학(UK) 연구교수
정보처리 기술사/ 전자계산기 기술사/ 정보시스템 감리사
한국전자통신연구소(현 ETRI) 응용 S/W 개발실 연구원
한국정보과학회 영남지부 지부장
한국컴퓨터범죄학회 부회장
한국멀티미디어학회 부회장
한국정보시스템감리사협회 부회장
국립 창원대학교 컴퓨터공학과 교수
저서
ㆍ 실용멀티미디어
ㆍ C를 이용한 영상 처리의 이해와 활용
ㆍ Java를 이용한 디지털 영상 처리
ㆍ MATLAB을 활용한 실용 디지털 영상 처리
ㆍ 오픈소스 CxImage를 이용한 Visual C++ 디지털 영상 처리
ㆍ 오픈소스 OpenCV를 이용한 컴퓨터비전 실무 프로그래밍
ㆍ 오픈소스 GS를 이용한 디지털 영상 처리 기본 프로그래밍
ㆍ OpenCV로 배우는 컴퓨터비전 및 응용

목차

PART 01 영상 처리 개요 및 OpenCV 소개
CHAPTER 01 영상 처리 개요
1.1 영상 처리란?
1.2 영상 처리의 수준
1.3 영상 처리의 역사
1.4 영상 처리 관련 분야
1.5 영상의 형성 과정
1.6 디지털 영상의 표현과 영상 처리
1.7 영상 처리 응용 분야
단원 요약
연습문제
CHAPTER 02 OpenCV 개요
2.1 OpenCV 소개
2.2 설치 및 기본 환경 설정
2.2.1 OpenCV 내려받기 및 압축 풀기
2.2.2 Path 환경 변수에 경로 추가
2.3 비주얼 스튜디오에서 OpenCV 디렉터리 설정하기
2.3.1 솔루션 및 프로젝트 만들기
2.3.2 OpenCV 디렉터리 설정
2.4 간단한 OpenCV API 사용하기
단원 요약
연습문제
CHAPTER 03 OpenCV의 기본 자료 구조
3.1 기본 템플릿 클래스
3.1.1 Point_ 클래스
3.1.2 Point3_ 클래스
3.1.3 Size_ 클래스
3.1.4 Rect_ 클래스
3.1.5 Vec 클래스
3.1.6 Scalar_ 클래스
3.1.7 RotatedRect 클래스
3.2 Mat 클래스
3.2.1 Mat 행렬 생성
3.2.2 Mat 행렬 초기화 함수
3.2.3 Mat_ 클래스를 이용한 초기화
3.2.4 Matx 클래스를 이용한 초기화
3.2.5 Mat 클래스의 다양한 속성
3.2.6 Mat 클래스의 \u003d 연산자
3.2.7 Mat 클래스의 크기 및 형태 변경
3.2.8 Mat 복사 및 자료형 변환
3.3 벡터(std::vector) 클래스
3.3.1 vector 클래스의 초기화
3.3.2 vector 클래스의 사용
3.4 Mat 클래스의 영역 참조(관심영역)
3.4.1 Range 클래스
3.4.2 행렬 헤더 관련 함수
3.5 Mat 클래스의 기타 메서드
3.5.1 원소의 추가 및 삭제( Mat::push_back(), Mat::pop_back() )
3.5.2 행렬의 메모리 해제
3.5.3 행렬 연산 함수
3.6 예외처리
3.6.1. saturate_cast 《_Tp》
3.6.2 예외 처리 매크로
단원 요약
연습문제
CHAPTER 04 OpenCV 인터페이스 기초 / 사용자 인터페이스 및 I/O 처리
4.1 윈도우 창 제어
4.2 이벤트 처리 함수
4.2.1 키보드 이벤트 제어
4.2.2 마우스 이벤트 제어
4.2.3 트랙바 이벤트 제어
4.3 그리기 함수
4.3.1 직선 및 사각형 그리기
4.3.2 글자 쓰기
4.3.3 원 그리기
4.3.4 타원 그리기
4.4 이미지 파일 처리
4.4.1 이미지 파일 읽기
4.4.2 행렬을 영상 파일로 저장
4.5 비디오 처리
4.5.1 카메라에서 프레임 읽기
4.5.2 카메라 속성 설정하기
4.5.3 카메라 프레임 동영상 파일 저장
4.5.4 비디오 파일 읽기
4.6 데이터의 파일 저장 및 읽기
4.6.1 FileStorage 클래스
4.6.2 FileNode 클래스
4.6.3 XML/YAML 파일 저장
4.6.4 XML/YAML 파일 읽기
단원 요약
연습문제
CHAPTER 05 기본 행렬 연산(Operations on Arrays) 함수
5.1 기본 배열(Array) 처리 함수
5.2 채널 처리 함수
5.3 산술 연산 함수
5.3.1 사칙 연산
5.3.2 지수 로그 루트 관련 함수
5.3.3 논리(비트) 연산 함수
5.4 절댓값, 최댓값, 최솟값 관련 함수
5.4.1 원소의 절댓값
5.4.2 원소의 최솟값과 최댓값
5.5 통계 관련 함수
5.6 행렬 연산 함수
단원 요약
연습문제
PART 02 영상 처리와 OpenCV 함수 활용
CHAPTER 06 화소 처리
6.1 영상 화소의 접근
6.1.1 Mat::at() 함수
6.1.2 Mat::ptr() 함수
6.1.3 반복자를 통한 조회
6.2 화소 밝기 변환
6.2.1 그레이 스케일 영상
6.2.2 영상의 화소 표현
6.2.3 영상 밝기의 가감 연산
6.2.4 행렬 덧셈 및 곱셈을 이용한 영상 합성
6.2.5 명암 대비
6.3 히스토그램
6.3.1 히스토그램 개념
6.3.2 히스토그램 계산
6.3.3 OpenCV 함수 활용
6.3.4 히스토그램 스트레칭
6.3.5 히스토그램 평활화
6.4 컬러 공간 변환
6.4.1 컬러 및 컬러 공간
6.4.2 RGB 컬러 공간
6.4.3 CMY(K) 컬러 공간
6.4.4 HSI 컬러 공간
6.4.5 기타 컬러 공간
단원 요약
연습문제
CHAPTER 07 영역 처리
7.1 회선(convolution)
7.1.1 공간 영역의 개념과 회선
7.1.2 블러링
7.1.3 샤프닝
7.2 에지 검출
7.2.1 차분 연산을 통한 에지 검출
7.2.2 1차 미분 마스크
7.2.4 2차 미분 마스크
7.2.5 캐니 에지 검출
7.3 기타 필터링
7.3.1 최댓값/최솟값 필터링
7.3.2 평균값 필터링
7.3.3 미디언 필터링
7.3.4 가우시안 스무딩 필터링
7.4 모폴로지(morphology)
7.4.1 침식 연산
7.4.2 팽창 연산
7.4.3 열림 연산과 닫힘 연산
단원 요약
연습문제
CHAPTER 08 기하학 처리
8.1 사상
8.2 크기 변경 (확대/축소)
8.3 보간
8.3.1 최근접 이웃 보간법
8.3.2 양선형 보간법
8.4 평행이동
8.5 회전
8.6 행렬 연산을 통한 기하학 변환 ? 어파인 변환
8.7 원근 투시(투영) 변환
단원 요약
연습문제
CHAPTER 09 변환영역 처리
9.1 공간 주파수의 이해
9.2 이산 푸리에 변환
9.3 고속 푸리에 변환
9.4 FFT를 이용한 주파수 영역 필터링
9.4.1 주파수 영역 필터링의 과정
9.4.2 저주파 및 고주파 통과 필터링
9.4.3 버터워스, 가우시안 필터링
9.5 이산 코사인 변환
단원 요약
연습문제
CHAPTER 10 영상 분할 및 특징 처리
10.1 허프 변환
10.1.1 허프 변환의 좌표계
10.1.2 허프 변환의 전체 과정
10.1.3 허프 누적 행렬 구성
10.1.4 허프 누적 행렬의 지역 최대값 선정
10.1.5 임계값 이상인 누적값(직선) 선별

top