책 이미지
책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 언어 > Visual C++
· ISBN : 9788979144901
· 쪽수 : 860쪽
목차
1부. 영상 처리 프로그래밍의 기초
01장. 영상 처리의 개요
01 영상 처리의 개요
디지털 영상 처리
다양한 영상 처리 응용 분야
02 영상 처리 프로그래밍
영상 표현 방법
2차원 배열 처리
02장 Visual C++ 2005 시작하기
01 Visual C++ 2005 개요
윈도우즈 프로그래밍과 MFC
Visual C++ 2005를 사용해야 하는 이유
02 First 프로그램 예제
새 프로젝트 만들기
MFC 응용 프로그램 마법사
Visual Studio 2005의 구조
프로그램 빌드 및 실행
03 MFC 프로그램 코드 분석
MFC 클래스들간의 상관 관계
CFirstApp 클래스 분석
CMainFrame 클래스 분석
CChildFrame 클래스 분석
CFirstDoc 클래스 분석
CFirstView 클래스 분석
04 Visual C++ 6.0 사용자를 위한 팁
Visual C++ 6.0 프로젝트 가져오기
Visual C++ 2005에서 주의해야 할 사항
03장 BMP 파일의 이해
01 비트맵 개요
비트맵 정의와 종류
02 BMP 파일의 이해
BMP 파일의 전체 구조
BITMAPFILEHEADER 구조체
BITMAPINFOHEADER 구조체
RGBQUAD 구조체의 배열
픽셀 데이터
03 실제 BMP 파일의 분석
트루컬러 BMP 파일의 분석
그레이스케일 BMP 파일의 분석
04 BMP 파일을 화면에 출력
SetDIBitsToDevice와 StretchDIBits 함수
BmpShow 프로그램 작성
04장 CDib 클래스 만들기
01 DibCreate 프로그램 생성
프로젝트에 CDib 클래스 추가하기
CDib 클래스 뼈대 만들기
02 CDib 클래스 만들기
생성자와 소멸자
비트맵 생성과 소멸
BMP 파일 불러오기와 저장하기
비트맵 정보 제공
비트맵 화면 출력
치환 연산자 재정의와 비트맵 복사
비트맵의 픽셀 값 제어 함수
클립 보드를 이용한 복사하기와 붙여넣기
기타 전역 함수들
CDib 전체 소스
03 RGBBYTE 클래스 만들기
RGBBYTE 클래스의 구조
생성자와 소멸자
04 CDib 클래스 사용하기
OnLButtonDown 함수 수정
05장 영상 처리 프로그램 틀 만들기
01 ImageTool 프로그램 만들기
ImageTool 프로젝트 생성
CDib 클래스 추가하기
BMP 파일 불러오기와 저장하기
화면 출력 기능 추가하기
프로그램 구동 시 빈 창 띄우지 않기
창 크기를 영상의 크기에 맞추기
영상의 바깥 영역에 빗금 그리기
02 영상 새로 만들기 기능 수정(대화상자 만들기)
새 대화상자 추가하기
대화상자에 대한 클래스 추가
대화상자 컨트롤에 대한 변수 추가
대화상자를 화면에 출력하는 코드 작성
03 영상을 새 창에 띄우기(메뉴 추가하기)
영상을 새 창으로 띄우기의 구조
새 메뉴 항목 및 메뉴 이벤트 처리기 추가
클립 보드를 이용한 복사하기와 붙여넣기
04 영상 확대하여 보기(툴바 만들기)
확대하여 보기 기능 추가
확대하여 보기 관련 메뉴와 메뉴 이벤트 처리기 추가
툴바 버튼 추가하기
05 영상 정보 표시하기(상태바 처리하기)
기본 상태바의 구역 변경
상태바에 영상 정보 표시
2부 영상 처리 알고리즘 구현
06장 화질 향상 기법
01 영상 반전하기
CDib 클래스에서 픽셀 참조 방법
영상의 반전이란?
영상 반전 코드 작성하기
영상 반전 메뉴 및 메뉴 이벤트 처리기 추가
02 밝기와 명암비 조절
밝기 조절
명암비 조절
슬라이더 바를 이용한 밝기 조절 대화상자 만들기
명암비 조절 대화상자 만들기
밝기와 명암비 조절 메뉴 및 메뉴 이벤트 처리기 추가
03 감마 보정
지수 법칙 변환과 감마 보정
감마 보정 코드 작성하기
실수 값을 입력받는 감마 보정 대화상자 만들기
감마 보정 메뉴 및 메뉴 이벤트 처리기 추가
04 히스토그램 분석
히스토그램이란?
히스토그램 대화상자 만들기
히스토그램 보기 메뉴 및 메뉴 이벤트 추가
05 히스토그램 균등화
히스토그램 균등화란?
히스토그램 균등화 메뉴 만들기
07장 영상의 산술 및 논리 연산
01 영상의 산술 연산
덧셈 연산
뺄셈 연산
평균 연산
차이 연산
02 영상의 논리 연산
AND 연산
OR 연산
03 산술 및 논리 연산 기능 구현
도큐먼트 리스트를 받아오는 방법
도큐먼트 선택이 가능한 산술 및 논리 연산 대화상자 만들기
산술 및 논리 연산 메뉴 및 메뉴 이벤트 추가
04 비트 평면 분할
비트 평면이란?
비트 평면 분할 메뉴 및 메뉴 이벤트 처리기 추가
모든 창 닫기 기능 추가
08장 다양한 공간적 필터링 기법
01 공간적 필터링
공간적 필터링의 기본적 개념
공간적 필터링의 구현 방법
02 영상 부드럽게 만들기
평균 값 필터
가중 평균 값 필터
가우시안 필터
가우시안 필터 대화상자 만들기
영상 부드럽게 만들기 메뉴 및 메뉴 이벤트 처리기 추가
03 영상 날카롭게 만들기
언샤프 마스크 필터링
라플라시안을 이용한 언샤프 마스크 필터 구현
영상 날카롭게 만들기 메뉴 및 메뉴 이벤트 처리기 추가
04 잡음 생성
C/C++에서 균일한 분포의 임의 정수 생성
가우시안 임의 잡음 생성
소금&후추 잡음 생성
잡음 추가 대화상자 만들기
잡음 추가 메뉴 및 메뉴 이벤트 처리기 추가
05 잡음 제거를 위한 비선형 필터
미디언 필터
미디언 필터 메뉴 추가와 메뉴 이벤트 처리
비등방성 확산 필터
비등방성 확산 대화상자 만들기
비등방성 확산 필터 메뉴 및 메뉴 이벤트 처리기 추가
09장 영상의 기하학적 변환
01 영상의 이동 변환
이동 변환이란?
이동 변환의 구현
이동 변환 대화상자 만들기
이동 변환 메뉴 및 메뉴 이벤트 처리 추가
02 영상의 크기 변환
크기 변환과 보간법
최근방 이웃 보간법
양선형 보간법
3차 회선 보간법
영상의 축소 시 고려해야 할 사항
크기 변환 대화상자 만들기
크기 변환 메뉴 및 메뉴 이벤트 처리 추가
03 영상의 회전 변환
회전 변환에 관한 이론적 설명
임의의 각도 회전 구현
특수 각도에 대한 회전 구현
회전 변환 대화상자 만들기
회전 변환 메뉴 및 메뉴 이벤트 처리 추가
04 영상의 대칭 변환
좌우 대칭
상하 대칭
좌우 대칭과 상하 대칭 메뉴 및 메뉴 이벤트 처리 추가
10장 주파수 공간에서의 영상 처리
01 주파수 공간의 이해
1차원 데이터에 대한 이산 푸리에 변환
1차원 데이터에 대한 이산 푸리에 변환의 구현
02 영상의 푸리에 변환
2차원 영상의 푸리에 변환
2차원 영상의 푸리에 변환 구현하기
2차원 푸리에 변환 방법의 개선
DFT와 DFTRC 메뉴 추가 및 메뉴 이벤트 처리기 추가
03 고속 푸리에 변환
고속 푸리에 변환의 이론적 배경
영상의 고속 푸리에 변환
FFT 메뉴 추가
04 주파수 공간에서의 필터링
이상적 저역 및 고역 통과 필터
가우시안 저역 및 고역 통과 필터
주파수 공간에서의 필터링 대화상자 만들기
주파수 공간에서의 필터링 메뉴 추가 및 이벤트 처리
11장 영상의 특징값 추출 방법
01 마스크를 이용한 경계선 검출
함수의 1차 미분
다양한 경계선 검출 마스크
경계선 검출 메뉴 및 메뉴 이벤트 처리기 추가
02 허프 변환을 이용한 직선 검출
허프 변환을 이용한 직선 검출 방법
룩업 테이블을 이용한 허프 변환의 구현
허프 변환 메뉴 및 메뉴 이벤트 처리기 추가
03 해리스 코너 포인트 검출 방법
해리스 코너 검출 방법
해리스 코너 검출 구현
해리스 코너 검출 대화상자 추가
해리스 코너 검출 메뉴 및 메뉴 이벤트 처리기 추가
12장 컬러 영상 처리
01 트루컬러 비트맵 다루기
CDib 클래스에서 컬러 픽셀 참조 방법
트루컬러 비트맵을 그레이스케일 비트맵으로 변환
트루컬러 영상을 위한 메뉴 및 메뉴 이벤트 처리
02 다양한 색모델
색상 표현 방법
RGB 색모델
HSI 색모델
YUV 색모델
그 외의 색모델
03 색상 평면 나누기와 합치기
색상 평면 나누기
색상 평면 나누기 메뉴 및 메뉴 이벤트 처리기 추가
색상 평면 합치기
색상 평면 합치기 대화상자 추가
색상 평면 합치기 메뉴 및 메뉴 이벤트 처리기 추가
04 컬러 영상 처리
컬러 경계선 검출
컬러 히스토그램 균등화
컬러 영상 처리 메뉴 및 메뉴 이벤트 처리기 추가
13장 영상 분할
01 이진화 기법
영상의 이진화
반복적 방법을 이용한 이진화 임계값 결정 방법
미리보기 기능이 있는 이진화 대화상자 추가
이진화 메뉴 및 메뉴 이벤트 처리기 추가
02 레이블링 기법
전통적 레이블링 기법
레이블링 메뉴 및 메뉴 이벤트 처리기 추가
03 외곽선 추적
외곽선 추적 기법
외곽선 추적 메뉴 및 메뉴 이벤트 처리기 추가
14장 모폴로지 연산
01 이진 영상의 모폴로지 연산
모폴로지를 위한 기본 정의
이진 영상의 침식과 팽창 연산
이진 영상의 열기와 닫기 연산
이진 영상의 모폴로지 메뉴 및 메뉴 이벤트 처리기 추가
모폴로지 기법을 응용한 경계선 검출
02 그레이스케일 영상의 모폴로지 연산
그레이스케일 영상의 침식과 팽창 연산
그레이스케일 영상의 열기와 닫기 연산
그레이스케일 영상의 모폴로지 메뉴 및 메뉴 이벤트 추가
15장 모양 기술자
01 외곽선 기반의 푸리에 기술자
푸리에 기술자
푸리에 기술자 대화상자 추가
푸리에 기술자 메뉴 및 메뉴 이벤트 처리기 추가
02 영역 기반의 불변 모멘트
불변 모멘트
불변 모멘트 메뉴 및 메뉴 이벤트 처리기 추가
16장 동영상 처리
01 AVI 파일 처리하기
AVI 파일의 구조와 사용법
CAvi 클래스 만들기
02 AVI 플레이어 만들기
새 도큐먼트 템플릿 등록하기
CAvi 클래스를 이용한 동영상 재생
동영상 재생을 위한 툴바 만들기
동영상 재생을 위한 코드 작성
03 움직임 벡터 추정
블록 매칭 움직임 추정 방법
CDibFullSearch 클래스 만들기
움직임 벡터 메뉴 및 메뉴 이벤트 처리기 추가
3부. 부록
A. OpenCV 이용하기
OpenCV 개요
OpenCV 설치 및 설정
IplImage 구조체 사용 방법
OpenCV 라이브러리 사용 방법
ImageTool 프로젝트에서 OpenCV 사용하기
OpenCV 변환 함수 테스트
B. 침입자 감시 시스템 만들기
새 프로젝트 만들기
대화상자 디자인
프로그램 코드 작성
프로그램 테스트
Visual Studio 2005 설치
찾아보기
참고문헌