본문 바로가기

리디북스 접속이 원활하지 않습니다. 새로 고침(F5)해주세요.
계속해서 문제가 발생한다면 리디북스 접속 테스트를 통해 원인을 파악하고 대응 방법을 안내드리겠습니다.
테스트 페이지로 이동하기

RIDIBOOKS

리디북스 검색

최근 검색어

'검색어 저장 끄기'로 설정되어 있습니다.


리디북스 카테고리



Visual C++ 영상 처리 프로그래밍 상세페이지

컴퓨터/IT 개발/프로그래밍

Visual C++ 영상 처리 프로그래밍

영상처리 기초와 알고리즘을 이론부터 구현까지

구매종이책 정가50,000
전자책 정가35,000(30%)
판매가35,000
Visual C++ 영상 처리 프로그래밍

책 소개

<Visual C++ 영상 처리 프로그래밍> 이론과 실습이 어우러진 영상 처리 완벽 입문서

영상 처리 기초부터 고급 알고리즘까지 폭넓게 담았다
다양한 영상 처리 알고리즘을 초보자도 쉽게 이해하고 흥미를 가질 수 있도록 쉬운 용어로 설명한다.
영상 처리 기초부터 시작하여 영상 이해에 필요한 다양한 기법을 하나 둘씩 덧붙여 가도록 구성했다.
복잡한 이론을 직접 C++ 언어로 구현하여 실습해보면서 알고리즘에 대한 이해도를 높인다.

Visual C++ 2015를 사용하여 제대로 된 영상 처리 프로그램을 만들어보자
최신 개발툴과 C++ 기법을 사용하여 이론으로 배운 다양한 영상 처리 기법을 직접 구현한다.
본문에 나온 내용을 따라만 하면 제대로 된 영상 처리 프로그램을 완성할 수 있다.
영상을 표현하는 클래스와 영상 처리 함수 구조를 깔끔하게 디자인하여 직관적으로 코드를 해석할 수 있다.


출판사 서평

이 책의 대상층
[Visual C++ 영상 처리 프로그래밍]을 이해하려면 고등학교 수학과 C++ 문법에 대한 기초 지식은 있어야 한다. C++에는 어느 정도 익숙하지만, Visual C++를 활용한 Windows 프로그래밍에는 익숙하지 않아도 실습을 따라할 수 있게 단계별로 설명했다.

이 책의 구성
영상 처리 기초 이론과 Visual C++ 개발툴을 사용하여 실제 구현하는 방법을 다음과 같이 네 부분으로 구성했다. 다양한 영상 처리 알고리즘을 초보자도 쉽게 이해할 수 있는 용어로 설명하고, 알고리즘을 구현한 예제 소스를 함께 제공한다.

-영상 처리 프로그래밍의 기초-
1장 영상 처리의 배경, 활용 분야
2장 Visual C++ 프로그래밍의
3장 BMP 파일의 이해
4장 CDib 클래스 만들기
5장 영상 처리 프로그램 틀

-영상 처리 알고리즘의 이해와 구현-
6장 화질 향상 기법
7장 영상의 산술 및 논리 연산
8장 다양한 공간적 필터링 기법
9장 영상의 기하학적 변환
10장 주파수 공간에서의 영상 처리
11장 영상의 특정값 추출
12장 컬러 영상 처리
13장 영상 분할
14장 모폴로지 연산
15장 모양 기술자
16장 동영상 처리

-영상 처리 라이브러리 활용-
부록A JPEG 라이브러리 사용
부록B OpenCV 사용하기

이 책의 예제 소스
마이크로소프트 Visual C++ 2015를 이용하여 제대로 된 영상 처리 프로그램을 만들어본다. 최신 Visual C++ 개발 환경에 맞게, 최신 C++ 문법에 맞게 코드를 구현했다. 또한, 영상을 표현하는 클래스를 화면 출력과 영상 처리를 위한 두 클래스로 분할하여 보다 직관적으로 코드를 해석할 수 있다.

이 책의 대상 독자
- 핵심 독자_ 학부 3학년 수준의 영상 처리 프로그래밍 수업을 듣는 대학생
영상 처리 프로그래밍의 기초가 없는 C/C++ 대학원생 및 개발자
- 확산 독자_ 이미지 분석, CCTV, 사물 인식, 얼굴 인식, 증강 현실, 의료 영상 등
영상 처리가 필요한 분야 종사자



저자 소개

저자 - 황선규
1997년 한양대학교 전자공학과를 졸업하고, 동 대학원에서 영상 처리를 전공하여 2006년 박사 학위를 받았다. 재학 시절 주요 연구 분야는 객체의 모양 기술, 객체 분할, 패턴 인식이었으며, 여러 산업체와 연구소 프로젝트를 수행하였다. 2007년에는 뉴질랜드 캔터베리 대학교 HITLabNZ(Human Interface Technology Laboratory New Zealand)에서 마커 없는 증강 현실을 위한 실시간 특징점 추적에 관한 연구를 수행하였다. 귀국 후에는 한양대학교 연구 교수를 거쳐, 현재 LG전자에서 모바일 카메라 개발 업무를 담당하고 있다. 저서로는 『영상 처리 프로그래밍 by Visual C++』(한빛미디어, 2007년)가 있고, 역서로는 『OpenCV 제대로 배우기』(한빛미디어, 2009년)가 있다.

목차

1장 영상 처리의 개요
__1.1 영상 처리의 개요
____1.1.1 디지털 영상 처리란?
____1.1.2 다양한 영상 처리 응용 분야
__1.2 영상 처리 프로그래밍
____1.2.1 영상 표현 방법
____1.2.2 2차원 배열 처리
____1.2.3 변형된 2차원 배열 동적 할당

2장 Visual C++ 프로그래밍
__2.1 Visual Studio 개발 환경 구축
____2.1.1 Windows 프로그래밍과 Visual C++
____2.1.2 Visual Studio Community 에디션 설치하기
__2.2 First 프로그램 예제
____2.2.1 새 프로젝트 만들기
____2.2.2 MFC 응용 프로그램 마법사
____2.2.3 Visual Studio 구조
____2.2.4 프로그램 빌드 및 실행
__2.3 MFC 프로그램 소스 코드 분석
____2.3.1 MFC 클래스들 간의 상관 관계
____2.3.2 CFirstApp 클래스 분석
____2.3.3 CMainFrame 클래스 분석
____2.3.4 CChildFrame 클래스 분석
____2.3.5 CFirstDoc 클래스 분석
____2.3.6 CFirstView 클래스 분석
__2.4 Visual Studio Community 2015 기능 살펴보기
____2.4.1 클래스 마법사
____2.4.2 유용한 기능들

3장 BMP 파일의 이해
__3.1 비트맵 개요
____3.1.1 비트맵 정의와 종류
__3.2 BMP 파일의 이해
____3.2.1 BMP 파일의 전체 구조
____3.2.2 비트맵 파일 헤더
____3.2.3 비트맵 정보 헤더
____3.2.4 색상 테이블(팔레트)
____3.2.5 픽셀 데이터
__3.3 실제 BMP 파일의 분석
____3.3.1 그레이스케일 BMP 파일의 분석
____3.3.2 트루컬러 BMP 파일의 분석
__3.4 BMP 영상을 화면에 출력하기
____3.4.1 DIB 화면 출력 함수(SetDIBitsToDevice와 StretchDIBits)
____3.4.2 BmpShow 프로그램 작성

4장 영상 클래스 만들기
__4.1 영상 클래스 설계
____4.1.1 IppDib와 IppImage 클래스
____4.1.2 IppCreate 프로젝트 생성하기
__4.2 IppDib 클래스 만들기
____4.2.1 IppDib 클래스 추가
____4.2.2 비트맵 생성과 소멸
____4.2.3 BMP 파일 입출력(불러오기 및 저장하기)
____4.2.4 비트맵 화면 출력
____4.2.5 클립보드 지원(복사 및 붙여넣기)
____4.2.6 기타 유용한 기능(연산자 재정의, 비트맵 정보 제공 등)
__4.3 IppImage 클래스 만들기
____4.3.1 IppImage 클래스 추가
____4.3.2 다양한 자료형 지원(템플릿 클래스)
____4.3.3 영상 생성과 소멸
____4.3.4 픽셀 값 접근 기능
____4.3.5 기타 유용한 기능(연산자 재정의, 비트맵 정보 제공 등)
____4.3.6 RGBBYTE 클래스 정의
__4.4 IppDib와 IppImage 클래스 상호 변환
____4.4.1 IppDib와 IppImage 클래스 변환 방법
____4.4.2 IppDib와 IppImage 클래스의 상호 변환 구현
__4.5 IppDib 클래스 사용하기
____4.5.1 IppDib 클래스를 사용하여 BMP 파일 화면 출력하기

5장 영상 처리 프로그램 틀 만들기
__5.1 ImageTool 프로그램 만들기
____5.1.1 ImageTool 프로젝트 생성
____5.1.2 영상 클래스 추가하기
____5.1.3 BMP 파일 불러오기와 저장하기
____5.1.4 화면 출력 기능 추가하기
____5.1.5 프로그램 구동 시 빈 창 띄우지 않기
____5.1.6 창 크기를 영상의 크기에 맞추기
____5.1.7 영상의 바깥 영역에 빗금 그리기
__5.2 영상 새로 만들기 기능 구현 (대화 상자 만들기)
____5.2.1 새 대화 상자를 만드는 순서
____5.2.2 새 대화 상자 추가
____5.2.3 대화 상자 디자인(컨트롤 배치)
____5.2.4 대화 상자에 대한 클래스 추가
____5.2.5 대화 상자 컨트롤에 대한 멤버 변수 추가
____5.2.6 대화 상자 화면에 나타내기
__5.3 영상을 새 창으로 띄우기 (메뉴 및 메뉴 이벤트 처리기 추가)
____5.3.1 영상을 새 창으로 띄우기 위한 프로그램 구조
____5.3.2 새 메뉴 항목 추가
____5.3.3 메뉴 이벤트 처리기 추가
____5.3.4 복사 및 붙여넣기 기능 구현
__5.4 영상을 확대하여 보기(툴바 추가)
____5.4.1 영상을 확대하여 출력하기
____5.4.2 영상 확대하여 보기 메뉴 및 메뉴 이벤트 처리기 추가
____5.4.3 툴바 버튼 추가
____5.5.1 영상 정보 출력창 구성
____5.5.2 출력창에 영상 정보 표시하기
____5.5.3 상태바 구역 나누기
____5.5.4 상태바에 영상 정보 표시

6장 화질 향상 기법
__6.1 영상 반전하기
____6.1.1 IppImage 클래스를 이용한 픽셀 값 접근 방법
____6.1.2 영상의 반전이란?
____6.1.3 영상 반전 구현
____6.1.4 영상 반전 메뉴 만들기
____6.1.5 매크로 함수를 이용한 코드 간소화
__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 실숫값을 입력 받는 감마 보정 대화 상자 만들기
____6.3.4 대화 상자 초기화 및 컨트롤 동작 제어
____6.3.5 감마 보정 메뉴 만들기
__6.4 히스토그램 분석
____6.4.1 히스토그램이란?
____6.4.2 히스토그램 대화 상자 만들기
____6.4.3 대화 상자에 히스토그램 그리기
____6.4.4 히스토그램 보기 메뉴 만들기
__6.5 히스토그램 스트레칭과 균등화
____6.5.1 히스토그램 스트레칭
____6.5.2 히스토그램 균등화
____6.5.3 히스토그램 스트레칭과 균등화 메뉴 만들기

7장 영상의 산술 및 논리 연산
__7.1 영상의 산술 연산
____7.1.1 덧셈 연산
____7.1.2 뺄셈 연산
____7.1.3 평균 연산
____7.1.4 차이 연산
__7.2 영상의 논리 연산
____7.2.1 AND 연산
____7.2.2 OR 연산
__7.3 산술 및 논리 연산 기능 구현
____7.3.1 도큐먼트 리스트를 받아오는 방법
____7.3.2 산술 및 논리 연산 대화 상자 만들기
____7.3.3 대화 상자에 도큐먼트 선택 기능 추가하기
____7.3.4 산술 및 논리 연산 메뉴 및 메뉴 이벤트 추가
__7.4 비트 평면 분할
____7.4.1 비트 평면이란?
____7.4.2 비트 평면 분할 메뉴 및 메뉴 이벤트 처리기 추가
____7.4.3 모든 창 닫기 기능 추가

8장 다양한 공간적 필터링 기법
__8.1 공간적 필터링
____8.1.1 공간적 필터링의 기본 개념
____8.1.2 공간적 필터링의 구현 방법
__8.2 영상 부드럽게 만들기
____8.2.1 평균 값 필터
____8.2.2 가중 평균 값 필터
____8.2.3 가우시안 필터
____8.2.4 가우시안 필터 대화 상자 만들기
____8.2.5 영상 부드럽게 만들기 메뉴 만들기
__8.3 영상 날카롭게 만들기
____8.3.1 언샤프 마스크 필터링
____8.3.2 라플라시안을 이용한 언샤프 마스크 필터 구현
____8.3.3 하이부스트 필터
____8.3.4 영상 날카롭게 만들기 메뉴 만들기
__8.4 잡음 생성
____8.4.1 가우시안 잡음 생성
____8.4.2 소금&후추 잡음 생성
____8.4.3 잡음 추가 대화 상자 만들기
____8.4.4 잡음 추가 메뉴 만들기
__8.5 잡음 제거를 위한 비선형 필터
____8.5.1 미디언 필터
____8.5.2 미디언 필터 메뉴 만들기
____8.5.3 비등방성 확산 필터
____8.5.4 비등방성 확산 대화 상자 만들기
____8.5.5 비등방성 확산 필터 메뉴 만들기

9장 영상의 기하학적 변환
__9.1 영상의 이동 변환
____9.1.1 이동 변환이란?
____9.1.2 이동 변환의 구현
____9.1.3 이동 변환 대화 상자 만들기
____9.1.4 이동 변환 메뉴 만들기
__9.2 영상의 크기 변환
____9.2.1 크기 변환과 보간법
____9.2.2 최근방 이웃 보간법
____9.2.3 양선형 보간법
____9.2.4 3차 회선 보간법
____9.2.5 크기 변환 대화 상자 만들기
____9.2.6 크기 변환 대화 상자 초기화 및 컨트롤 동작 제어
____9.2.7 크기 변환 메뉴 만들기
__9.3 영상의 회전 변환
____9.3.1 회전 변환에 관한 이론적 설명
____9.3.2 임의의 각도 회전 구현
____9.3.3 특수 각도에 대한 회전 구현
____9.3.4 회전 변환 대화 상자 만들기
____9.3.5 회전 변환 메뉴 만들기
__9.4 영상의 대칭 변환
____9.4.1 좌우 대칭
____9.4.2 상하 대칭
____9.4.3 좌우 대칭과 상하 대칭 메뉴 만들기

10장 주파수 공간에서의 영상 처리
__10.1 주파수 공간의 이해
____10.1.1 1차원 데이터에 대한 이산 푸리에 변환
____10.1.2 1차원 데이터에 대한 이산 푸리에 변환의 구현
__10.2 영상의 푸리에 변환
____10.2.1 2차원 영상의 푸리에 변환
____10.2.2 2차원 영상의 푸리에 변환 구현
____10.2.3 개선된 2차원 영상의 푸리에 변환
____10.2.4 DFT와 DFTRC 메뉴 만들기
__10.3 고속 푸리에 변환
____10.3.1 고속 푸리에 변환의 이론적 배경
____10.3.2 2차원 영상의 고속 푸리에 변환
____10.3.3 FFT 메뉴 만들기
__10.4 주파수 공간에서의 필터링
____10.4.1 이상적 저역 및 고역 통과 필터
____10.4.2 가우시안 저역 및 고역 통과 필터
____10.4.3 주파수 공간 필터링 대화 상자 만들기
____10.4.4 주파수 공간 필터링 메뉴 만들기

11장 영상의 특징값 추출 방법
__11.1 마스크를 이용한 엣지 검출
____11.1.1 엣지와 함수 그래디언트
____11.1.2 마스크 기반 엣지 검출
____11.1.3 마스크 기반 엣지 검출기 구현
____11.1.4 마스크 기반 엣지 검출 메뉴 만들기
__11.2 캐니 엣지 검출기
____11.2.1 캐니 엣지 검출 방법
____11.2.2 캐니 엣지 검출기 구현
____11.2.3 캐니 엣지 검출 대화상자 만들기
____11.2.4 캐니 엣지 검출 메뉴 만들기
__11.3 허프 변환을 이용한 직선 검출
____11.3.1 허프 변환을 이용한 직선 검출 방법
____11.3.2 룩업 테이블을 이용한 허프 변환의 구현
____11.3.3 허프 변환 메뉴 만들기
__11.4 해리스 코너 포인트 검출 방법
____11.4.1 해리스 코너 검출 방법
____11.4.2 해리스 코너 검출 구현
____11.4.3 해리스 코너 검출 대화 상자 추가
____11.4.4 해리스 코너 검출 메뉴 만들기

12장 컬러 영상 처리
__12.1 트루컬러 비트맵 다루기
____12.1.1 IppImage 클래스에서 컬러 픽셀 참조 방법
____12.1.2 트루컬러 영상의 반전
____12.1.3 트루컬러 영상을 그레이스케일 영상으로 변환
____12.1.4 그레이스케일로 변환 메뉴 만들기
__12.2 다양한 색 모델
____12.2.1 색상 표현 방법
____12.2.2 RGB 색 모델
____12.2.3 HSI 색 모델
____12.2.4 YUV 색 모델
__12.3 색상 평면 나누기와 합치기
____12.3.1 색상 평면 나누기
____12.3.2 색상 평면 나누기 메뉴 만들기
____12.3.3 색상 평면 합치기
____12.3.4 색상 평면 합치기 대화 상자 만들기
____12.3.5 색상 평면 합치기 메뉴 만들기
__12.4 컬러 영상 처리
____12.4.1 컬러 엣지 검출
____12.4.2 컬러 엣지 검출 메뉴 만들기
____12.4.3 컬러 영상의 히스토그램 균등화

13장 영상 분할
__13.1 이진화 기법
____13.1.1 영상의 이진화
____13.1.2 반복적 방법을 이용한 이진화 임계값 결정 방법
____13.1.3 미리보기 기능이 있는 이진화 대화 상자 만들기
____13.1.4 이진화 메뉴 만들기
__13.2 레이블링
____13.2.1 고전적 레이블링 기법
____13.2.2 고전적 레이블링 기법 구현
____13.2.3 레이블링 메뉴 만들기
__13.3 외곽선 추적
____13.3.1 외곽선 추적 기법
____13.3.2 외곽선 추적 메뉴 만들기

14장 모폴로지 연산
__14.1 이진 영상의 모폴로지 연산
____14.1.1 모폴로지를 위한 기본 정의
____14.1.2 이진 영상의 침식과 팽창
____14.1.3 이진 영상의 열기와 닫기 연산
____14.1.4 이진 영상의 모폴로지 메뉴 만들기
____14.1.5 모폴로지 기법을 응용한 외곽선 검출
__14.2 그레이스케일 영상의 모폴로지 연산
____14.2.1 그레이스케일 영상의 침식과 팽창 연산
____14.2.2 그레이스케일 영상의 열기와 닫기 연산
____14.2.3 그레이스케일 영상의 모폴로지 메뉴 만들기

15장 모양 기술자
__15.1 외곽선 기반의 푸리에 기술자
____15.1.1 푸리에 기술자
____15.1.2 푸리에 기술자 대화 상자 만들기
____15.1.3 푸리에 기술자 메뉴 만들기
__15.2 영역 기반의 불변 모멘트
____15.2.1 불변 모멘트
____15.2.2 불변 모멘트 메뉴 만들기
__15.3 저니키 모멘트
____15.3.1 저니키 모멘트
____15.3.2 저니키 모멘트의 구현
____15.3.3 저니키 모멘트 메뉴 만들기
____15.4.1 템플릿 매칭
__15.4 템플릿 매칭
____15.4.2 템플릿 매칭 메뉴 만들기

16장 동영상 처리
__16.1 AVI 파일 처리하기
____16.1.1 AVI 파일의 구조와 사용법
____16.1.2 IppAvi 클래스 만들기
__16.2 AVI 플레이어 만들기
____16.2.1 새 도큐먼트 템플릿 등록하기
____16.2.2 IppAvi 클래스를 이용한 동영상 재생
____16.2.3 동영상 재생을 위한 툴바 만들기
____16.2.4 동영상 재생을 위한 코드 작성
__16.3 움직임 벡터 추정
____16.3.1 블록 매칭 움직임 추정 방법
____16.3.2 IppFullSearch 클래스 만들기
____16.3.3 움직임 벡터 메뉴 만들기

부록 A JPEG 파일 지원
__A.1 JPEG 라이브러리 사용
____A.1.1 JPEG 압축 원리
____A.1.2 JPEG 라이브러리 빌드하기
____A.1.3 JPEG 라이브러리 사용하기

부록 B OpenCV 사용하기
__B.1 OpenCV 개요와 설치
__B.2 OpenCV 영상 표현 방법
__B.3 ImageTool 프로젝트에서 OpenCV 사용하기
__B.4 OpenCV 사용 예제


리뷰

구매자 별점

5.0

점수비율

  • 5
  • 4
  • 3
  • 2
  • 1

2명이 평가함

리뷰 작성 영역

이 책을 평가해주세요!

내가 남긴 별점 0.0

별로예요

그저 그래요

보통이에요

좋아요

최고예요

별점 취소

구매자 표시 기준은 무엇인가요?

'구매자' 표시는 리디북스에서 유료도서 결제 후 다운로드 하시거나 리디셀렉트 도서를 다운로드하신 경우에만 표시됩니다.

무료 도서 (프로모션 등으로 무료로 전환된 도서 포함)
'구매자'로 표시되지 않습니다.
시리즈 도서 내 무료 도서
'구매자’로 표시되지 않습니다. 하지만 같은 시리즈의 유료 도서를 결제한 뒤 리뷰를 수정하거나 재등록하면 '구매자'로 표시됩니다.
영구 삭제
도서를 영구 삭제해도 ‘구매자’ 표시는 남아있습니다.
결제 취소
‘구매자’ 표시가 자동으로 사라집니다.

이 책과 함께 구매한 책


이 책과 함께 둘러본 책



본문 끝 최상단으로 돌아가기


spinner
모바일 버전