• 검색 결과가 없습니다.

1.5 The Book Web Site

N/A
N/A
Protected

Academic year: 2022

Share "1.5 The Book Web Site"

Copied!
55
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

Introduction

1 cafe.daum.net/RobotVision

(2)

1.1 Background

2 cafe.daum.net/RobotVision

(3)

1.2 What Is Digital Image Processing?

3 cafe.daum.net/RobotVision

(4)

1.3 Background on MATLAB and the Image Processing Toolbox

cafe.daum.net/RobotVision 4

(5)

1.4 Areas of Image Processing Covered in the Book

cafe.daum.net/RobotVision 5

(6)

1.5 The Book Web Site

• www.ImageProcessingPlace.com

• Availability of M-files, including executable versions of all M-files in the book

• Tutorials

• Projects

• Teaching materials

• Links to databases, including all images in the book

• Book updates

• Background publications

cafe.daum.net/RobotVision 6

(7)

1.6 Notation

cafe.daum.net/RobotVision 7

(8)

1.7 Fundamentals

cafe.daum.net/RobotVision 8

(9)

1.7.1 The MATLAB Desktop

• the main working environment

• Fig. 1.1: (in the default configuration)

• Desktop components:

1. Command Window, 2. Workspace Browser,

Workspace = The set of variables created in a session

3. Current Directory Browser / Field, 4. Command History Window

5. Figure Window

cafe.daum.net/RobotVision 9

(10)
(11)

search path

used to find M-files and other MATLAB-related files

Any file run in MATLAB must reside in the Current Directory or in a directory that is on the search path.

cafe.daum.net/RobotVision 11

(12)

clear & clc

• Typing clear at the prompt removes all variables from the workspace.

– This frees up system memory.

• Typing clc clears the contents of the command window.

• See the help page for other uses and syntax forms.

cafe.daum.net/RobotVision 12

(13)

1.7.2 Using the MATLAB Editor/Debugger

•  .m  M-files

cafe.daum.net/RobotVision 13

(14)

• 편집기 열기:

② >> edit

③ >> edit filename  편집 윈도우에 M- 파일 filename.m 이 열림.

– Remember: 이 파일은 현재 디렉터리 또는 탐색 경로의 디렉터리에 있어야! (Otherwise, 새 파일 생성)

(15)

1.7.3 Getting Help

• 온라인 도움말: MATLAB 도움말(Help) 브 라우저 (분리된 윈도우) 사용

1. 데스크탑 툴바 의 물음표 기호(?)를 클릭 2. or 명령 윈도우에서

>> helpbrowser

3. or Help 메뉴 > MATLAB Help

cafe.daum.net/RobotVision 15

(16)

도움말

도움말 브라우저 브라우저

(17)

• 특정 함수에 대한 도움말 얻는 다른 방법:

>> doc 함수_이름 – 예:

>> doc format

 도움말 브라우저의 표시 틀에 format 이란 함수에 대한 설명(그림 )

– 브라우저가 미리 열려있지 않으면 열어줌.

(18)

1.7.4 Saving and Retrieving Work Session Data

• saving or loading an entire work session

(the contents of the Workspace Browser) or selected workspace variables

전체 작업 세션 or 선택된 작업공간 변수들을 저장

& 불러오는 방법:

1) 작업공간 브라우저 윈도우의 빈 공간을 우측 클릭  단 축 메뉴

2) Save Workspace As 를 선택  디렉터리 윈도우 (그림

→)

OR

File | Save Workspace As… (v. 7 이상)

3) 파일 이름을 적고, 저장 장소인 폴더를 선택 4) Save를 클릭

cafe.daum.net/RobotVision 18

(19)
(20)

• 작업공간으로부터 선택된 변수 저장하기:

1.좌측 클릭으로 변수 선택

2.강조된 영역에서 우측 클릭  단축 메뉴 3.Save Selection As 선택  윈도우

4.변수를 저장할 폴더를 선택

(21)

• 여러 개의 변수 저장하기: (쉬프트-클릭 또는 컨트롤-클릭)

• 확장자 = .mat( MAT-파일 )

• double-precision; 이진 포맷으로 저장

• 예:

① my_work_2012_03_10 이라고 이름 붙인 세 션은, 저장되면 my_work_2012_03_10.mat

② final_image라고 부르는 저장된 영상(작업공 간의 단일 변수)은, final_image.mat

(22)

저장된 작업공간 or 변수 불러오기:

1) 작업공간 브라우저 윈도우의 툴바에 있는 Load Data File… 아이콘을 클릭

 원하는 MAT-파일들이 들어있는 폴더를 선택할 수 있 는 [열기](→)

2) 선택된 MAT-파일을 더블-클릭 or 열기 버튼을 선택  [Import Wizard] (→)

3) [Finish] 버튼  Workspace에 변수 이름들 나타남. (→)

(23)
(24)

• 파일 이름과 경로 정보가 있으면 프롬프트 에서 save나 load 명령 사용

– 불편. But 메뉴 방식에 없는 포맷이 요구되는 경우에 사용

• HW: Reading

– MATLAB 실행

– 구성 요소 익히기 – 도움말 사용 방법

(25)

1.7.5 Digital Image Representation

• 영상: 2 차원 함수 f(x, y)로 정의

– x, y: 공간 (평면) 좌표 – f(x, y):

• 좌표 (x, y)에서의 f의 진폭(amplitude, 또는 크기)

• = 그 점에서의 밝기(intensity, 또는 명암도)

◦ 흑백 영상의 밝기 = 그레이 레벨

그레이 =

cafe.daum.net/RobotVision 25

(26)

• 적, 녹, 청 의 세 개의 개별적 성분의 영상들 로 구성 (RGB 칼라 시스템 경우)()

– 개별 2-D 영상을 결합해서 형성

( 세 영상 성분들을 개별적으로 처리하므로써, 흑백 영상을 위해 개발된 기법들을 칼라 영상들에 대해 확장 가능 (칼라 영상처리 -- CH 6))

칼라 영상

(27)

칼라 영상 표시

RGB 큐브에서 R 축에 수직인 단면을 상상

(28)

디지털 영상

= 좌표 & 진폭 을 디지털화  x, y, f의 진폭 값들이 모두 유한하고, 이산적 인 영상

• 좌표 값 디지털화 = 샘플링

크기 값 디지털화 = 양자화 ( quantization )

(29)

Coordinate Conventions

• 영상 f(x, y) 를 샘플링한 결과 영상이 M 의 행과 N 개의 열을 갖는다면,

영상의 크기 = M  N

• 좌표 ( x, y )의 값: 정수 값( 불연속적 ) 사용.

• 보통, 영상의 원점 은 (x, y) = (0, 0)으로 정 의

 If (x, y) = (0, 1), 첫 행을 따라 두 번째 샘플 – 그림 2.1(a):

• x = 0 ~ M – 1, y = 0 ~ N – 1 범위의 정수

(30)

좌표 관례 좌표 관례

(31)

IPT 좌표 관례

• 그림 2.1(b): 1 부터 시작

• 둘의 차이점:

1. (x, y)를 사용하는 대신에, 행과 열을 의미하 기 위해 (r, c)를 사용

2. 좌표 체계의 원점: (r, c) = (1, 1)

 r, c: 각각 1 ~ M, 1 ~ N 범위의 정수 값

(32)

IPT의 화소 좌표 & 공간 좌표

화소 좌표 ( pixel coordinates ): 그림 2.1(b)

– 1st 좌표 = 행 – 2nd 좌표 = 열

• 공간 좌표: (이 책에서는 사용 안함)

– x는 열, y는 행 – 빈도 낮음

• 이 책에서는 IPT의 화소 좌표 사용

(33)

매트릭스로서의 영상

(skip)

f(x, y) =

– 주의: Italic 체

– MATLAB matrix: (→)

• 배열의 각 요소 = 영상 요소 ( image element ), 화소 ( picture element ), 픽슬 ( pixel ), 또는 pel

) 1 ,

1 (

...

) 1 , 1 (

) 0 , 1 (

) 1 ,

1 ( ...

) 1 , 1 ( )

0 , 1 (

) 1 ,

0 ( ...

) 1 , 0 ( )

0 , 0 (

N M

f M

f M

f

N f

f f

N f

f f

(34)

MATLAB 매트릭스로 표현한 디지털 영상

• f(r, c) =

• f(1, 1) = f(0, 0)

• f(r, c): 행 = r, 열 = c에 위치

– 예: f(6, 2) -- 매트릭스 f의 6th 행과 2nd

 M, N: 매트릭스의 행 수, 열 수

) ,

( f ...

) 2 , (

f )

1 , (

f

) ,

2 ( f ...

) 2 , 2 ( f )

1 , 2 ( f

) ,

1 ( f ...

) 2 , 1 ( f )

1 , 1 ( f

N M

M M

N N

(35)

1.7.6 Image I/O and Display

(36)

• 함수 imread -- MATLAB 환경으로 영상 을 읽어들임:

imread(‘filename’)

– filename: 영상 파일의 이름 (확장자 포함) – 注意: single 따옴표() 사용

Reading Images Reading Images

(37)

• 예:

>> f = imread(‘chestxray.jpg’);

Then, 변수 f  chestxray.jpg

– 명령 줄 끝 세미콜론: 출력 억제 (注意!)

• w/o ‘;’, 그 줄의 연산 결과를 표시

– 프롬프트 기호(>>): 명령 줄의 시작 표시

(38)

• filename에 경로 정보가 없을 경우 검색 순서:

1) 현재 디렉터리 (§1.7.1)

2) MATLAB 탐색 경로 (§1.7.1)

• 특정 디렉터리로부터 영상 읽는 방법: 전체 경로 or 현재 디렉터리 기준 상대경로를 포함

예:

>> f = imread(‘D:\myimages\chestxray.jpg’);

>> f = imread(‘.\myimages\chestxray.jpg’);

경로

(39)

• MATLAB 데스크탑 툴바의 현재 디렉터리 필드(CDF):

MATLAB의 현재 작업 디렉터리를 표시하고 간단한 수동 변경 방법 제공 ()

(40)

Version 7.0.1에서의 영상 읽기

원하는 folder 찾기:

1) CDF 옆 ‘Browse for folder’ icon을 click

2) 찾는 영상이 있는 folder를 찾기

(41)

3) Current Directory tab()을 선택; 원하 는 영상 file을 right- click

4) 단축 메뉴에서

‘Open’을 click

 [Import Wizard]

(42)

5) ‘Finish’

6) workspace 탭 선 택 

(43)

1) 영상 file 불러오기:

f=imread('Fig0203(a)(chest-xray).tif');

注意: 현재 디렉토리 또는 탐색경로에 등록되어 있어 야!

또는 앞 절 슬라이드(pp. ?-?)에 소개된 방법 사

영상 표시하기 영상 표시하기

• 주의: 노이즈 제거된 영상을 사용할 것.

(44)

2) 함수 imshow로 영상 표시

imshow(f)

(45)

• 만일 다른 영상 g를 imshow에 의해 불러오면, MATLAB은 새 영상으로 교체해서 표시해버림.

• 첫 번째 영상을 유지하고 두 번째 영상을 출력하 려면, 함수 figure 사용:

>> figure, imshow(g)

>> imshow(f), figure, imshow(g)

>> imshow(f); figure; imshow(g)

– 쉼표 or 세미콜론  여러 명령 in one line 가능 – figure(n): n = 그림 창 번호

함수 figure

(46)

imwrite(f, ‘filename’)

– filename의 확장자는 3rd 인자로서 명기 가능

– 예: TIFF 파일 형식

>> imwrite(f, ‘patient10_run1’, ‘tif’)

• 경로 정보가 없으면, 현재 작업 디렉터리 에 저장.

영상

영상 저장하기 저장하기 영상

영상 저장하기 저장하기

(47)

• JPEG 영상用 더 일반적인 imwrite 문법:

imwrite(f, ‘filename.jpg’, ‘quality’, q) – q: 0 ~ 100 사이의 정수

• 작을수록 압축에 의한 劣化 

– PhotoShop에서는 0 ~ 12.

(48)

1.7.7 Classes and Image Types

• 표 1.1(): MATLAB과 IPT가 지원하는 화 소 값 데이타 클래스 목록

① 수치(numeric) 데이타 클래스: 1 ~ 8th

② char 클래스: 9th

③ 논리 데이타 클래스: 10th

cafe.daum.net/RobotVision 48

(49)

cafe.daum.net/RobotVision 49

(50)

• 데이타 클래스별 바이트 수:

– double = 8

– logical, uint8, int8 = 1 – uint16, int16 = 2

– uint32, int32, single = 4

cafe.daum.net/RobotVision 50

(51)

• 툴박스 가 지원하는 영상 유형:

1. 그레이 스케일(또는 밝기) 영상 2. 이진 영상

3. 인덱스(indexed) 영상  CH 6 4. RGB 영상  CH 6

영상 유형 영상 유형

(52)

(1) 그레이 스케일 영상

= 그 값들이 밝기를 나타내기 위해 스케일 링된 데이타 매트릭스

• If 요소 클래스

== uint8, then [0, 255]

== uint16, then [0, 65535] 의 정수 값

• 클래스 double 형이면, 浮動소수점數 값

– 스케일링된 클래스 double 형 값 ~ [0, 1]

(53)

(2) 이진 영상

= 0과 1로 구성된 논리 논리 (( logical logical ) ) 배열 배열

• 값들이 수치 데이타 클래스 형 (예: uint8)의 0과 1로 구성된 배열은 이진 영상 x x in

MATLAB.

• 함수

logical

: 수치 배열  논리 배열

– A ~ 0 & 1의 수치(예: uint8) 배열일 때,

B = logical(A)  B ~ 논리 배열

(54)

• If ∃ aij  0, 1, then

logical(A):

a

ij

~= 0  논리 1 a

ij

== 0  논리 0

• 관계 연산자 와 논리 연산자 (cf. §2.10.2)도 논리 배열을 만듦.

• 함수

islogical

: 논리 배열 여부 확인

islogical(C)

– If C ~ 논리 배열, 1을 반환, else 0을 반환.

(55)

• 논리 배열  수치 배열 방법:

B = class_name(A)

where class_name is im2uint8 , im2uint16 ,

im2double , im2single , or mat2gray .

• Toolbox function mat2gray converts an

image to an array of class double scaled to the range [0, 1]:

g = mat2gray(A, [Amin, Amax])

cafe.daum.net/RobotVision 55

참조

관련 문서

다양한 번역 작품과 번역에 관한 책을 읽는 것은 단순히 다른 시대와 언어, 문화의 교류를 넘어 지구촌이 서로 이해하고 하나가

◦ Copy eclipse directory to Program Files. ◦ Copy eclipse directory to Program Files or

The index is calculated with the latest 5-year auction data of 400 selected Classic, Modern, and Contemporary Chinese painting artists from major auction houses..

A 10% rate applies if the recipient is the beneficial owner or any bank, financial institution or insurance company or if the interest is paid on debt arising in connection

Passes one parameter to the filter, $template is the current path to the appropriate file for the post type as found in the active child theme or parent theme (if no child

glen plaids 글렌 플레이드와 캐시미어 카디건, 캐리지 코트, 그리고 케이프 -> 격자무늬의 캐시미어로 된 승마용 바지, 마부용 코트, 말 그림이 수

• Since time is required in building up or depleting a charge distribution, the stored charge must inevitably lag behind the current in a time-dependent problem.. This is

• The avoidance of unwanted heat loss or gain, and the positive use of sun energy for heating and cooling … become compelling principles of site