Top

매트랩 영상처리 프로그래밍 [기본 영상처리부터 예술 과학, 비디오 처리, 시공간 처리까지]

  • 원서명Visual Media Processing Using MATLAB Beginner's Guide (ISBN 9781849697200)
  • 지은이조지 시오카스(George Siogkas)
  • 옮긴이이문호
  • ISBN : 9788960779044
  • 30,000원
  • 2016년 09월 27일 펴냄
  • 페이퍼백 | 380쪽 | 188*235mm
  • 시리즈 : acorn+PACKT

책 소개

소스 파일은 아래 깃허브 페이지에서 내려 받으실 수 있습니다.
(https://github.com/AcornPublishing/matlab)

요약

이 책은 영상처리 프로그래밍에 필요한 기본적인 지식인 영상 조작을 먼저 다룬 후, 영상 개선, 형태학적 연산과 분석, 필터링, 비디오 처리, 시공간 처리, 영상 잇기 등 다양한 알고리즘을 매트랩의 IPT(Image Processing Toolbox)와 CVST(Computer Vision System Toolbox) 함수 사용 방법을 연계해 저자가 독자의 눈높이에 맞춰 유쾌하게 설명하며, 후반에는 예술 과학과 컴퓨터 비전 분야에서 접할 수 있는 기법 등을 설명한다.

이 책에서 다루는 내용

■ 영상에 기본 기하학 변환 적용

■ 그레이스케일과 컬러 영상의 화소값 조작

■ 수동 또는 자동으로 영상 내 관심 영역 선택

■ 그레이스케일과 컬러 영상에 마스킹 기술 적용

■ 영상처리 스크립트와 함수 작성

■ 필터링 방법을 이용한 영상 품질 개선

■ 3차원 영상과 비디오 작업

■ 사진을 이용한 타임 랩스 비디오 생성

이 책의 대상 독자

환경에 대한 지식이 얕거나 거의 없지만 매트랩을 일반적인 영상이나 비디오 에디터의 대안이나 대체 솔루션으로 사용하고 싶어하는 초보 프로그래머에게 매우 유용하다. 이 책을 시작하기 전에 해야 할 유일한 일은 이 책의 자료를 더 쉽게 이해하기 위해 영상처리와 비디오 처리에 관한 기본적인 지식을 미리 쌓는 것이다. 약간의 기본 프로그래밍 경험은 도움이 되지만 필수는 아니다. 대부분의 내용이 밑바닥부터 시작하기 때문이다.

이 책의 구성

1장, ‘기본 영상 조작’에서는 매트랩 환경을 소개하고 기본 도구와 기능을 둘러보게 한 후, 매트랩의 GUI를 보여주고 매트랩에서의 영상 가져오기와 영상 띄우기를 차례대로 논의한다. 영상 회전/뒤집기, 크기 조정, 잘라내기 등의 기본 영상 변환을 다룬다. 마지막으로 영상을 기록하는 다른 방법을 보여준다. 1장은 대부분 처리를 함께 묶은 실습 예제가 들어 있다.
2장, ‘그레이스케일 영상의 화소 다루기’에서는 영상의 화소 기반 처리 예제에 기반을 둔다. 임계화, 지역이나 전역 명암대비 개선 같은 여러 고전적인 방법으로 영상을 개선하는 처리 방법을 논의한다. 제시된 방법은 매트랩 프로그래밍의 비밀을 부드럽게 소개한 여러 기술을 사용한다. 영상을 개선하는 실전 예제로 2장을 마무리한다.
3장, ‘형태학적 연산과 객체 분석’에서는 형태학적 영상 분석 방법의 기본을 소개한다. 3장에서는 임계화 방법을 이용해 그레이스케일 영상에 이진화를 수행하는 방법을 다룬다. 관심 있는 특별한 영상 영역을 선택하고 조작할 수 있도록 에지 검출과 다른 형태학적 연산자를 제시해 설명한다. 또한 자영상 내 코너, 원, 선을 자동으로 검출하는 기술을 알려주며 이 모든 기술은 여러 실습 예제를 통해 생생하게 보여준다.
4장, ‘컬러 영상 다루기’에서는 앞서 다룬 방법을 컬러 영상으로 확장한다. 그레이스케일로 다뤘던 몇 가지 처리를 컬러 영상처리로 다시 논의한다. 매트랩에서 서로 다른 컬러 공간과 그 장점을 컬러 영상 개선에 관한 예제로 설명한다. 조명과 컬러를 분리할 수 있는 방법과 독립적으로 처리하는 방법을 배울 수 있다. 컬러 분리 기술을 실전 예제를 통해 설명한다. 마지막에는 인기 있는 응용인 사진 내 적목 교정을 어떻게 개발하는지 배울 때 이전 장에서 언급했던 몇 가지 방법을 사용한다.
5장, ‘2차원 영상 필터링’에서는 영상 디블러링과 샤프닝 같은 영상 필터링에 대한 좀 더 복잡한 문제에 뛰어든다. 영상 잡음을 제거하는 더 정교한 기술을 접할 수 있다. 더 흥미롭고 재미있는 예제로 경험을 더 깊이 즐길 준비를 시작한다. 특정 영상 영역을 개선하거나 부드럽게 하기 위해 일부 필터를 지역적으로 적용한다.
6장, ‘예술 과학을 위한 영상 혼합’에서는 예술가나 과학자를 눈뜨게 한다. 과학적 시각화를 위해 다중분광 영상의 채널을 합성하는 기술을 배운 후, 예술적인 결과를 만들기 위해 영상 섞기나 영상 잇기를 하는 실습 예제로 재미를 선사한다. 매트랩에서 예술적인 HDR(High Dynamic Range) 영상을 생성할 수 있다. 끝으로 파노라마 영상을 생성하는 간단한 방법을 제시한다.
7장, ‘움직임 추가 - 정지 영상에서 디지털 비디오’에서는 이전까지 습득했던 지식에 기반을 둔 비디오 처리를 소개한다. 정지 영상으로 비디오를 생성할 수 있다는 사실은 더 나은 기본 개념을 이해하는 데 도움을 준다. 따라서 매트랩에서 기본 비디오 프레임 처리를 다룬 후 비디오를 불러오고 재생할 수 있는 방법을 보여주고, 정지 영상으로 비디오를 어떻게 생성하는지 알려준다. 7장에서는 타임 랩스 비디오 구성을 기본 실습 예제로 돌려볼 수 있다.
8장, ‘비디오 취득과 처리’에서는 매트랩의 영상 취득 도구 기능을 보여준다. 카메라로 비디오를 촬영하고, 매트랩에 들어 있는 특수 GUI 도구를 이용해 컴퓨터를 디지털 비디오 레코더로 사용하는 방법에 관한 단계별 예제를 제공한다. 또한 8장에서는 비디오 압축과 기본 컬러 비디오 처리 기술을 성능 문제에 관한 논의와 함께 보여준다.
9장, ‘시공간 처리’에서는 명령행 조작과 비디오 처리를 소개한다. 매트랩에서 기본 비디오 프레임 조작을 다룬 후 인트라 프레임과 인터 프레임 혹은 혼합 기술을 사용한 비디오 디인터레이싱 방법을 배운다. 시공간 비디오 필터링 개념을 잡는 데 도움을 주는 실습 예제를 함께 제시한다.
10장, ‘입문자에서 전문가로 - 움직임과 3D 처리’에서는 비디오에서 움직임을 검출하는 방법을 소개한다. 기본 지식에 바탕을 두고, 매트랩에서 간단한 감시 시스템을 만드는 핵심을 설명한다. 매트랩 툴박스 중 하나에 포함된, 인기 있는 옵티컬 플로우 알고리즘을 이용한 기본 움직임 추정도 알려준다. 비디오 안정화를 위한 예제를 돌려볼 수 있다. 마지막에 3차원 비디오 예제를 소개하고, 일반 비디오를 3D 비디오로 변환하는 매우 기본적이고 재미 있는 예제를 다룬다.

저자/역자 소개

지은이의 말

디지털 시각 미디어는 의심할 여지없이 실생활의 중요한 부분으로 자리 잡았다. 아날로그적 정보 저장 및 처리 방법이 점차 사라졌으며, 요즘에는 아날로그 미디어 애호가나 매우 특수한 애플리케이션에서만 아날로그를 사용한다. 영상이나 비디오 정보 캡처와 저장에 관해 처리 과정이 날이 갈수록 쉽고 빨라진 데다가 저렴해졌다. 거의 모든 사람이 사진이나 비디오 카메라 혹은 심지어 휴대폰까지 목적에 맞는 디지털 전자 장치에 접근할 수 있기 때문이다. 시각 미디어 캡처 장치가 급격하게 증가하면서 아마추어 사진작가와 주말 영화 제작자가 늘어났고, 그들은 저장한 영상이나 비디오를 처리하는 소프트웨어를 결정하는 문제를 종종 접한다. 불변의 법칙이 있는데, 공개 소프트웨어 솔루션은 흔히 기능이 제한돼 있거나 매우 복잡한 반면 상업용 솔루션은 매우 비싸거나 가끔은 사용자가 원하는 모든 기능을 제공하지 않는다.
이 책은 꽤 흔하지 않은 대체적인 솔루션을 제시하며, 영상이나 비디오 편집 소프트웨어만 필요로 하는 사용자를 고려하지 않을 수 있다. 하지만 학생이나 과학자 혹은 매트랩이라고 하는 다기능의 고급 수준 프로그래밍 환경에 쉽게 접근할 수 있는 사용자들에게는 분명히 매력적으로 다가올 것이다.

지은이 소개

조지 시오카스(George Siogkas)

현재 그리스 뉴욕 전문대 공학정보학과장이다. 지난 4년 동안 전임강사로 가르쳤으며, 학계 연구 경험도 10년이 넘었다. 지능형 교통 시스템을 위한 컴퓨터 비전 분야의 박사 학위를 목표로 노력하는 과정 중에 매트랩 프로그래밍, 특히 영상과 비디오 처리 영역에 열정을 갖게 되었다. 그는 2013년 그리스의 파트라스 대학교에서 전자컴퓨터공학 박사 학위를 받았다.
저자에 관한 상세한 정보는 그의 웹 페이지(http://www.cvrlab.com/gsiogkas)를 방문해 확인할 수 있다.

옮긴이의 말

매트랩(MATLAB)을 처음 접했을 땐 18년 전이었으며 당시 버전은 5.0이었다. 시간이 흐르면서 기술이 발전함에 따라 어느새 버전이 높아지고 많은 기능이 추가되는 것을 보면서 실감한 부분은 예나 지금이나 변함없이 매트랩 프로그래밍 관련 기초적인 방법만 알고 있다면 버전과 관계없이 자신의 분야에서 매트랩을 잘 활용할 수 있다는 점이었다.
사실 선형 대수학에 기반을 둔 매트랩은 다른 프로그래밍 언어에 비해 사용하기가 쉽고 결과를 시각화하기가 편한 강력한 프로그래밍 언어다. 영상처리 전공자와 컴퓨터 비전 전공자를 비롯한 연구자는 알고리즘 프로토타입을 설계해 성능을 테스트할 경우 매우 빠른 시간 안에 만들어야 하므로 매트랩을 대부분 사용하며, 영상처리와 컴퓨터 비전 관련 함수를 내장한 IPT(Image Processing Toolbox)와 CVST(Computer Vision System Toolbox) 등을 활용한다. 알고리즘 검증을 마치면 C/C++로 직접 개발하거나 혹은 알고리즘을 C/C++ 코드로 자동으로 생성하는 툴을 사용하고, 아니면 OpenCV 같은 컴퓨터 비전 라이브러리를 이용해 이식 하는 과정이 일반적이다.
여기서 주지해야 할 부분은 앞에 언급한 매트랩의 툴박스는 결코 만능이 아닌 데다가 매트랩에서 제공하는 매뉴얼에는 함수 사용법과 결과만 제시하고 있을 뿐, 해당 알고리즘을 자세하게 다루지 않고 해당 함수의 소스를 공개하고 있지 않아 알고리즘 동작 원리를 알기 힘들기 때문에 입문자에게는 어느 정도는 한계가 있다는 점이다. 그런 이유로 관련 이론에 대한 이해가 뒷받침돼야만 툴박스의 내장 함수를 제대로 사용할 수 있고, 더 나아가 자신이 원하는 프로그램을 수월하게 개발할 수 있다는 점을 분명히 말씀 드리고 싶다.
이 책의 저자인 조지 사오스카 박사는 나름대로 기존 매트랩 책과 차별화를 시도했으며, 다음과 같이 정리할 수 있다.
첫째, 정지 영상에서 동영상 처리까지 매트랩의 IPT와 CVST 등을 연계해 설명하며, 비디오 처리와 관련된 내용을 다룬 책이 거의 없다는 점을 고려했다.
둘째, 그레이스케일 영상 기반 알고리즘을 컬러 영상을 처리할 때 그대로 적용할 수 없으니 어떻게 처리해야 할지 친절하게 알려주고 있다.
셋째, 독자가 직접 매트랩 코드를 입력하고 결과를 바로 볼 수 있도록 실습을 유도한 후, 왜 그렇게 나왔는지 친절하게 설명한다.
넷째, 예술 공학의 꽃인 합성과 컴퓨터 비전의 움직임 추적 등을 다양하게 다루며 매트랩으로 할 수 있음을 강조한다.
한 줄로 요약하자면, 매트랩으로 정지 영상부터 예술 공학, 비디오 처리까지 필요한 내용을 쉽게 실습하며, 매트랩의 툴박스 매뉴얼보다 많이 참고할 수 있는 책이라고 할 수 있다. 실제로 조지 사오스카 박사는 매트랩 전문가 관점에서 기존 책의 패턴을 깨버리고 과감하게 시도했으며, 필요한 내용만 보여주면서 실습을 자연스럽게 이끄는 흡인력이 뛰어나고 또한 이 책의 ‘보충 설명(What just happened?)’에서 보듯이 다른 책에서도 접할 수 없었던 저자의 배려가 여기저기 묻어난다.
매트랩이 상용 프로그램이라는 특성 때문에 영상처리와 컴퓨터 비전 강의 과정에서 교재로 참고하거나 실습에 어려움이 있다면, 매트랩에 대한 대안이자 오픈소스로 공개된 옥타브(Octave)를 활용해 이 책을 참고할 수 있을 것이다.
2005년에 『MATLAB을 활용한 실용 디지털 영상처리』(홍릉과학) 책을 낸 이후로 지금까지는 출판 상황이 좋지 않아 개정판을 낼 기회가 없었고, 매트랩을 이용한 영상처리 책이 국내외로 많이 출간되지 않은 탓에 아쉬움이 많았다. 그러던 중에 이 책을 번역해 출간하면서 어느 정도는 마음의 부담을 덜 수 있게 돼 기쁘다.

옮긴이 소개

이문호

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

목차

목차
  • 1장. 기본 영상 조작
    • 매트랩 환경과 친숙해지기
      • 환경의 기본 하위 창
    • 리본
      • HOME 탭
      • PLOTS 탭
      • APPS 탭
    • 편집기
      • EDITOR 창
    • 영상을 가져온 후, 띄우기
      • 명령행을 이용해 영상을 가져온 후, 띄우기
    • 실습 예제 | 영상을 가져온 후, 띄우기
      • imtool을 이용해 영상을 가져온 후, 띄우기
    • 실습 예제 | 유용한 정보를 추출하는 imtool 사용
    • 기하학적 변환 적용
      • 영상 회전 수행
    • 실습 예제 | 영상을 회전한 후, 결과를 띄우기
      • 영상 뒤집기 수행
    • 실습 예제 | 영상을 뒤집은 후, 결과를 띄우기
    • 도전 과제 | flipdim을 이용한 결과 비교
      • 영상 크기 조정
      • 영상 잘라내기
      • 영상 저장
    • 실습 예제 | 영상을 잘라내서 크기를 조정한 후, BMP로 저장
    • 도전 과제 | 요구에 맞춰 영상을 재단하기
    • 깜짝 퀴즈 | 매트랩을 이용한 영상처리
      • 요약

  • 2장. 그레이스케일 영상의 화소 다루기
    • 영상 화소 접근과 화소값 변경
      • 반복문을 이용한 사각형 영역의 화소값 변경
      • 첨자를 이용한 사각형 영역의 화소값 변경
      • 스크립트를 이용한 작성
    • 실습 예제 | 흰 영역과 검은 영역
    • 영상 임계화
      • 반복문을 이용한 영상 임계화
      • 첨자를 이용한 영상 임계화
      • im2bw를 이용한 영상 임계화
    • 자동 임계값을 이용한 영상 임계화
    • imhist로 히스토그램을 계산한 후, 띄우기
    • 명암대비 개선을 위한 히스토그램 평활화
    • imadjust를 이용한 명암대비 개선
    • imcontrast를 이용한 명암대비 개선
    • adapthisteq를 이용한 적응적 히스토그램 평활화
    • 복잡한 작업을 하기 위한 사용자 정의 함수
    • 실습 예제 | 차이를 정확하게 알아내는 imtool 사용
    • 도전 과제 | 영상 영역을 개선하기 위한 함수 작성
    • 옛 사진 복원
    • 실습 예제 | 조상의 사진 복원
    • 깜짝 퀴즈 | 명암대비 개선 방법
    • 요약

  • 3장. 형태학적 연산과 객체 분석
    • 이진 영상의 중요성
    • 실습 예제 | 임계값 이해
    • 관심 영역 확대와 축소
    • 실습 예제 | ROI를 정제하는 팽창과 침식 사용
      • 구조화 요소 선택
      • 구조화 요소를 생성하는 strel 사용
    • 요구에 맞추기 위해 strel로 구조화 요소 변경
    • 실습 예제 | strel을 이용한 ROI 정제
    • 도전 과제 | 지역 팽창/침식을 위한 함수 작성
    • 비사각형 ROI를 직접 정의하기
      • 마스크를 만들기 위한 roiploy 사용
      • 마스크를 만들기 위한 imfreehand 사용
    • 실습 예제 | 사용자 정의 객체 제거 함수 만들기
    • 영상의 객체 분석
      • 영상의 에지 검출
      • 영상의 코너 검출
      • 영상의 원 검출
    • 깜짝 퀴즈 | 객체 분석의 장단점
    • 요약

  • 4장. 컬러 영상 다루기
    • 컬러 영상 처리 소개
    • 기본 컬러 영상 조작
    • 사각형 영역을 특정 컬러로 설정
    • 실습 예제 | 컬러 영상의 두 영역을 칠하기
    • 컬러 영상 임계화
    • 실습 예제 | 영상의 빨간 화소값 분리
    • 컬러 마스킹 달성
    • 실습 예제 | 컬러 분리
    • 다른 컬러 공간의 중요성
    • 실습 예제 | 컬러 공간 변환
    • 더 효율적인 컬러 마스킹을 위한 CIE-L*a*b*
    • 실습 예제 | CIE-L*a*b*을 이용한 컬러 분리
    • 도전 과제 | 영역 컬러 분리를 위한 함수 작성
    • RGB 컬러 공간의 조명 문제 해결
    • CIE-L*a*b 컬러 공간의 조명 문제 해결
    • 실전 예제 | 적목 감소
    • 실습 예제 | 적목 감소를 위한 함수 작성
    • 눈의 원형 활용
    • 실습 예제 | 적목 감소를 위한 함수 자동화
    • 깜짝 퀴즈 | 컬러 다루기
    • 요약

  • 5장. 2차원 영상 필터링
    • 영상 필터링 소개
    • 이웃 화소 처리
    • 회선의 기본
    • 불편한 수학적 진실
    • 실습 예제 | 영상에 평균화 필터 적용
    • 회선에 대한 대안
    • imfilter 사용
    • fspecial을 이용한 필터 생성
    • 영상을 블러링하는 다른 방법
    • 실습 예제 | 블러링이 얼마나 충분한가?
    • 블러링을 이용한 예술 효과 생성
    • 실습 예제 | 영상의 보케 효과 생성
    • 도전 과제 | 영상에 모션 효과 추가
    • 블러링을 이용한 잡음 제거
    • 실습 예제 | 다양한 종류의 잡음을 제거해보자
    • 미디언 필터의 중요성
    • 실습 예제 | medfit2로 소금 & 후추 제거
    • 도전 과제 | 실제 영상의 잡음 제거
    • 실습 예제 | 영상의 에지 개선
    • 조명을 밝게 하기
    • 실습 예제 | 병정 사진의 조명을 밝게 하기
    • 깜짝 퀴즈 | 2차원 영상 필터링
    • 요약

  • 6장. 예술 과학을 위한 영상 혼합
    • 혼합 또는 조합 영상의 중요성
    • 다중분광 영상화 이용
    • 다중분광 영상을 불러온 후, 조작
    • 실습 예제 | 리오의 다중대역 영상 내 가시 스펙트럼
    • 실습 예제 | 비가시 분광으로 작업
    • 합성 영상 생성
      • 합성 영상을 생성하는 imfuse 사용
      • 합성 영상을 점검하는 imshowpair 사용
    • 실습 예제 | 갈매기 복제
    • 도전 과제 | 사진으로 워홀(Warhol) 재현
    • 한 걸음 더 | 선택한 영상 영역 섞기
    • 실습 예제 | 위협적인 장면 연출
    • 높은 동적 범위 영상 생성
    • 실습 예제 | HDR 영상 조합
    • 파노라마를 생성하기 위해 영상을 잇기
    • 실습 예제 | 파노라마 잇기에 대한 기본 방법
    • 깜짝 퀴즈 | 영상 혼합 세부 사항
    • 요약

  • 7장. 움직임 추가 - 정지 영상에서 디지털 비디오로
    • 디지털 비디오 소개
    • 프레임의 의미
      • 비월주사와 순차주사
      • 프레임률과 중요성
      • 프레임 수 계산
      • 프레임률 선택에 관한 고찰
    • 매트랩에서 비디오를 불러오기
      • aviread로 비디오를 불러오기
      • mmreader로 비디오를 불러오기
      • VideoReader로 비디오를 불러오기
      • 비디오 읽을 때 사용하는 함수 선택
    • 매트랩에서 비디오 재생
    • 실습 예제 | 비디오를 읽고 재생
    • 정지 영상으로부터 비디오 생성
    • 실습 예제 | 비디오를 구성하고 저장
    • 도전 과제 | 페이드 인/페이드 아웃 효과가 있는 비디오 생성
    • montage를 이용한 비디오 검사
    • 실습 예제 | 공을 기다리지 않기
    • 재생에 필요한 도구 - implay
      • implay의 GUI 사용
      • 비디오 파일을 재생하기 위해 implay 사용
      • 영상 시퀀스를 재생하기 위해 implay 사용
    • 타임 랩스 비디오 생성
    • 실습 예제 | 일반 비디오를 타임 랩스로 만들기
    • 도전 과제 | 타임 랩스 회전
    • 타임 랩스 비디오를 gif 파일로 저장
    • 깜짝 퀴즈 | 2차원 영상 필터링
    • 요약

  • 8장. 비디오 취득과 처리
    • 디지털 비디오를 기록하기 위해 매트랩 사용
      • Hardware Browser 창
      • Information 창
      • Desktop Help 창
      • Preview 창
      • Acquisition Parameter 창
      • Session Log 창
    • 실습 예제 | 파이어와이어 연결을 이용한 비디오 캡처
    • 도전 과제 | 기록에 트리거 추가
    • 비디오 압축 중요성
      • 압축하지 않은 비디오 크기 확인
      • 아무런 움직임이 없는 MP4 비디오 크기 확인
      • 움직임이 많은 MP4 비디오 크기 확인
    • 압축하지 않은 비디오로 작업
      • 영상 편집에서 큰 비디오로 작업
    • 실습 예제 | 에지 검출 비디오 생성
    • 도전 과제 | 처리한 최종 프레임 덩어리를 가져오기
    • 깜짝 퀴즈 | 함수에 어떤 문제가 있나?
    • 타임 랩스 비디오용 프레임 취득
      • 취득 하드웨어 검출
      • 비디오 객체 생성한 후, 프레임 취득
    • 실습 예제 | 인터벌라미터로서 매트랩 사용
    • 도전 과제 | 타임 랩스 함수 생성
    • 타임 랩스 비디오의 실시간 처리
    • 실습 예제 | 컬러를 분리한 타임 랩스 생성
    • 일반 비디오의 실시간 처리
      • 간단한 예제로 실시간 능력 평가
    • 실습 예제 | 비디오의 대비 조정
      • 대비 조정 예제 재검토
    • 실습 예제 | 코드에 프리뷰 추가
    • 도전 과제 | 코드의 속도를 두 배로 향상
    • 깜짝 퀴즈 | 비디오 취득과 처리
    • 요약

  • 9장. 시공간 처리
    • 매트랩으로 기본 비디오 처리
      • 비디오를 잘라낸 후, 크기 조정
    • 실습 예제 | 불러오기, 잘라내기, 크기 조정, 비디오 저장
    • 도전 과제 | 회전 추가와 더 많은 오류 검사
      • 비디오 프레임 필터링
    • 실습 예제 | 블록킹 효과 줄임
    • 매트랩에서 디인터레이싱 비디오
      • 디인터레이싱 작업을 위한 인트라 프레임 필터링
    • 컴퓨터 비전 시스템 툴박스로 디인터레이싱
    • 실습 예제 | 비전 툴 박스를 이용한 비디오 인터레이싱
    • 도전 과제 | 디인터레이싱 방법 비교
    • 사용자 정의 함수로 디인터레이싱
    • 실습 예제 | 선 반복으로 디인터레이싱
    • 실습 예제 | 주사선 보간으로 디인터레이싱
    • 도전 과제 | 인터레이싱 방법 비교
    • 디인터레이싱 작업을 위한 인트라 프레임 필터링
      • 필드 병합으로 시간적 인터레이싱
    • 실습 예제 | 필드 병합으로 디인터레이싱
    • 도전 과제 | 필드 병합 방법 평가
    • 필드 평균화로 시간적 디인터레이싱
    • 실습 예제 | 필드 평균화로 디인터레이싱
    • 인트라 프레임과 인터 프레임 디인터레이싱 혼합
      • 디인터레이싱을 위한 수직과 시간적 보간
    • 실습 예제 | 수직과 시간적 보간 방법
    • 도전 과제 - 디인터레이싱 기술 비교
    • 필터에 새로운 차원 추가
      • 시공간 평균화 필터
    • 실습 예제 | 시공간 평균화 필터 구현
    • 도전 과제 | 시공간 미디언 필터 생성
      • 시공간 평균화를 위한 회선 사용
    • 실습 예제 | 회선을 이용한 시공간 평균화 필터
    • 깜짝 퀴즈 | 비디오와 필터
    • 요약

  • 10장. 입문자에서 전문가로 - 움직임과 3D 처리
    • 비디오 내 움직임을 검출한 후, 추정
      • 움직임 검출
    • 실습 예제 | 정지 장면 내 움직이는 객체 검출
    • 실습 예제 | 복잡한 장면 내 움직임 검출
    • 도전 과제 | 자신만의 감시 시스템 만들기
    • 움직임 추정
      • 옵티컬 플로우를 이용한 움직임 추정
    • 실습 예제 | 혼-셩크 옵티컬 플로우로 사람 추적
    • 도전 과제 | 루카스-카나데를 이용한 옵티컬 플로우 추정
    • 실습 과제 | 옵티컬 플로우를 이용한 프레임 워핑
    • 도전 과제 | 자신만의 감시 시스템 만들기
    • 특징 추적을 이용한 카메라 움직임 보상
    • 실습 예제 | 불안정한 비디오 내 움직임 보상 위한 특징점 추적
    • 도전 과제 | 안정화 데모 설정 수정
    • 입체 영상을 갖고 작업하기
    • 실습 예제 | 왼쪽 비디오와 오른쪽 비디오로 3D 비디오 생성
    • 실습 예제 | 일반 비디오로 3D 비디오 생성
    • 도전 과제 | 3D 비디오 생성 함수 작성
    • 깜짝 퀴즈 | 비디오 프레임으로 작업하기
    • 요약

  • 부록 A. 깜짝 퀴즈 정답

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안

정오표

정오표

[p.65 : 13행]
>> MyFirstScript
->
>>MySecondScript

[p.86, p.108 : 함수]
함수의 일부만 책에 인쇄돼 있습니다. 코드 파일을 참고하시어 함수 전체 내용을 확인해주세요.

[p.121: 아래에서 7행]
종확하게
->
정확하게

[p.121 : 아래에서 5행]

[p. 127 : 5행]

[p.186 : 첫 번재 명령어]

[p.187 : 함수]
함수의 일부만 책에 인쇄돼 있습니다. 코드 파일을 참고하시어 함수 전체 내용을 확인해주세요.

[p.187 : 함수 1행]

[p.187 : 마지막 행]

[p.225 : 1번 명령어 3행]

[p.227 : 8번 명령어 1행]

[p.236 : 6행]
618-597=31 화소만큼
->
618-587=31 화소만큼

[p.243 : 5행]
(20분)×(60초/분)×(20.97프레임/초)
->
(20분)×(60초/분)×(29.97프레임/초)

[p.251 : 아래에서 2행]
>> hf = figure;
->
>> hf = figure;
>> movie (vid)

[p.252 : 4번 두 번째 명령어]

[p.304-306 : 함수]
함수가 중복돼 실렸습니다.

[p. 314 : 4번 2행]

[p.319 : 4번 명령어]

[p.327 : 4행]
unit8로
->
uint8로

[p.330 : 3번]
>> subplot(2,3,2),imshow(vid3(
>> subplot(2,3,3),imshow(vid4(
>> subplot(2,3,5),imshow(vid3(
>> subplot(2,3,6),imshow(vid4(
->
>> subplot(2,3,2),imshow(vid1(
>> subplot(2,3,3),imshow(vid2(
>> subplot(2,3,5),imshow(vid1(
>> subplot(2,3,6),imshow(vid2(

[p.334 : 17번째 명령어]
neighborhood = vid(rowround(
->
neightorhood = vid(row-round(

[p.336 : 12행]
unit8
->
uint8

[p. 346 : 4번 명령어]
montage(vid,
->
montage(subtracted,

[p.362 : 마지막에서 2행]