PowerPoint 프레젠테이션

Similar documents
PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

히스토그램구하기 사전준비 : 히스토그램을저장할메모리가필요함 필요한메모리개수 à 전체영상의픽셀은그값이 0 ~ 255이므로 256 개의메모리필요함 영상을구성하는픽셀의개수는매우크므로메모리형식은 unsigned long으로해야함 ( unsigned 란 +/- 를고려하지않는다는

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

PowerPoint 프레젠테이션

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

<B9CCB5F0BEEE20C1A4BAB8C3B3B8AE2E687770>

ch3.hwp

슬라이드 1

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

이미지 워핑과 모핑

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

Microsoft PowerPoint - Java7.pptx

PowerPoint 프레젠테이션

OCW_C언어 기초

Microsoft PowerPoint - D03_SpatialDomainEnhance_note.ppt [호환 모드]

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - C++ 5 .pptx

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

PowerPoint Presentation

윈도우시스템프로그래밍

Microsoft PowerPoint - chap06-1Array.ppt

쉽게 풀어쓴 C 프로그래밍

PowerPoint Presentation

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

PowerPoint 프레젠테이션

Microsoft PowerPoint - 제11장 포인터

설계란 무엇인가?

1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout << " 양수입력 : "; cin >> *p; if (*p <= 0) cout << " 양수를입력해야합니다 " << endl; return; 동적할

Microsoft PowerPoint - chap04-연산자.pptx

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

슬라이드 1

PowerPoint Presentation

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

PowerPoint 프레젠테이션

Microsoft PowerPoint - 제11장 포인터(강의)

= ``...(2011), , (.)''

PowerPoint 프레젠테이션

PowerPoint Presentation

<32392DC1A4BAB8C5EBBDC5C0CFB9DD20B9D720B1B3C0B02DB1E8B3B2C8A32E687770>

슬라이드 1

11장 포인터

Microsoft PowerPoint - additional01.ppt [호환 모드]

Microsoft PowerPoint - chap03-변수와데이터형.pptx

Data Structure

제 11 장포인터 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다.

윈도우시스템프로그래밍

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729>

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

<FEFF E002D B E E FC816B CBDFC1B558B202E6559E830EB C28D9>

Microsoft PowerPoint - es-arduino-lecture-03

3. 1 포인터란 3. 2 포인터변수의선언과사용 3. 3 다차원포인터변수의선언과사용 3. 4 주소의가감산 3. 5 함수포인터

C++ Programming

Microsoft PowerPoint - IP11.pptx

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

금오공대 컴퓨터공학전공 강의자료

슬라이드 1

0. 표지에이름과학번을적으시오. (6) 1. 변수 x, y 가 integer type 이라가정하고다음빈칸에 x 와 y 의계산결과값을적으시오. (5) x = (3 + 7) * 6; x = 60 x = (12 + 6) / 2 * 3; x = 27 x = 3 * (8 / 4

LIDAR와 영상 Data Fusion에 의한 건물 자동추출

untitled

chap 5: Trees

Infinity(∞) Strategy

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap-11.pptx

PowerPoint Presentation

PowerPoint 프레젠테이션

03_queue

K&R2 Reference Manual 번역본

실험 5

쿠폰형_상품소개서

C++ Programming

제49회 부산과학전람회

02장.배열과 클래스

(Microsoft PowerPoint - Ch21_NumAnalysis.ppt [\310\243\310\257 \270\360\265\345])

(Microsoft PowerPoint - 07\300\345.ppt [\310\243\310\257 \270\360\265\345])

(Microsoft PowerPoint - Ch19_NumAnalysis.ppt [\310\243\310\257 \270\360\265\345])

PowerPoint Presentation

statistics

Lab 3. 실습문제 (Single linked list)_해답.hwp

C 언어 프로그래밊 과제 풀이

(Microsoft PowerPoint - 11\300\345.ppt [\310\243\310\257 \270\360\265\345])

이장에서다룰내용 테두리를제어하는스타일시트 외부여백 (Margin) 과내부여백 (Padding) 관련속성 위치관련속성 2

歯Lecture2.PDF

윈도우즈프로그래밍(1)

17장 클래스와 메소드

2_안드로이드UI

adfasdfasfdasfasfadf

Gray level 변환 및 Arithmetic 연산을 사용한 영상 개선

Microsoft PowerPoint - Chapter_04.pptx

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600

1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y; public : CPoint(int a

<4D F736F F F696E74202D B3E22032C7D0B1E220C0A9B5B5BFECB0D4C0D3C7C1B7CEB1D7B7A1B9D620C1A638B0AD202D20C7C1B7B9C0D320BCD3B5B5C0C720C1B6C0FD>

Microsoft PowerPoint - 7장 배열 pptx

Chapter. 14 DAC 를이용한 LED 밝기제어 HBE-MCU-Multi AVR Jaeheung, Lee

금오공대 컴퓨터공학전공 강의자료

PowerPoint 프레젠테이션

Transcription:

07 영역처리를장ㅎㅎ이용한에지검출 에지검출의개요 에지검출기 1차미분을이용한에지검출 2차미분을이용한에지검출 한빛미디어 ( 주 )

7 장. 영역처리를이용한에지검출 학습목표 에지의개념을학습한다. 이동과차분을기본으로한에지검출기를학습한다. 미분과에지의관련성을소개한다. 1차미분회선마스크를이용한에지검출기를학습한다. 2차미분회선마스크를이용한에지검출기를학습한다. 2

에지 (edge) Section 01 에지검출의개요 디지털영상의밝기가낮은값에서높은값으로또는높은값에서낮은값으로변하는지점 디지털영상을구성하는객체간의경계 (= 경계선 ) 디지털영상의에지 : 물체식별, 위치 / 모양 / 크기등을인지하고방향성을탐지할수있는정보제공 3

영역처리 에지검출의개요 ( 계속 ) 에지를검출하기위한방법으로사용됨 간단한에지추출기법 연산자체가간단하고빠름. 유사연산자 (Homogeneity Operator) 와차연산자 (Difference Operator) 가있음. 이두방법으로얻은에지를강화하거나약화시키는추가적인임계값 (Threshold) 을처리하는방법이있음. 미분을이용한에지검출방법 에지가화소의밝기변화율에관여한다는것 1 차미분을이용한검출방법과 2 차미분을이용한검출방법있음 2 차미분을이용한검출방법 : 1 차미분으로얻은결과에미분을한번더추가하여에지검출의성능을향상시킨것 4

에지검출의개요 ( 계속 ) 5

Section 02 에지검출기 디지털영상의에지를검출하는가장쉬운방법은화소간의차이를이용하는것 이동과차분 (Shift And Difference) 화소의위치를위쪽, 아래쪽, 왼쪽, 오른쪽으로하나씩이동시킨뒤원래화소에서이동위치의화소를빼서에지를구함. 에지검출기는대부분이방법을응용함. 6

[ 실습하기 7-1] 이동과차분처리프로그램 1 ResourceView 창에서 [Menu]-[IDR_IMAGETYPE] 더블클릭 메뉴추가 2 [MFC ClassWizard] 대화상자를이용해추가된메뉴에서이동과차분처리를실행하는함수추가 3 Doc 클래스에다음프로그램추가 7

[ 실습하기 7-1] 이동과차분처리프로그램 void CImageProcessingDoc::OnDiffOperatorHor() { int i, j; double DiffHorMask[3][3] = {{0., -1., 0.}, {0., 1., 0.}, {0., 0., 0.}}; // 수평필터선택 m_re_height = m_height; m_re_width = m_width; m_re_size = m_re_height * m_re_width; m_outputimage = new unsigned char [m_re_size]; m_tempimage = OnMaskProcess(m_InputImage, DiffHorMask); // m_tempimage = OnScale(m_tempImage, m_re_height, m_re_width); 8

[ 실습하기 7-1] 이동과차분처리프로그램 for(i=0 ; i< m_re_height ; i++){ for(j=0 ; j< m_re_width ; j++){ if(m_tempimage[i][j] > 255.) m_tempimage[i][j] = 255.; if(m_tempimage[i][j] < 0.) m_tempimage[i][j] = 0.; } } } for(i=0 ; i< m_re_height ; i++){ for(j=0 ; j< m_re_width ; j++){ m_outputimage[i* m_re_width + j] = (unsigned char)m_tempimage[i][j]; } } 9

[ 실습하기 7-1] 이동과차분처리프로그램 4 View 클래스에다음프로그램추가 void CImageProcessingView::OnDiffOperatorHor() { CImageProcessingDoc* pdoc = GetDocument(); ASSERT_VALID(pDoc); pdoc->ondiffoperatorhor(); } Invalidate(TRUE); 10

유사연산자기법 가장단순한에지검출방법으로화소를감산한값에서최대값을결정하여에지를검출 뺄셈연산이여러번수행되므로계산시간이많이소요됨 11

[ 실습하기 7-2] 유사연산자에지검출처리프로그램 1 ResourceView 창에서 [Menu]-[IDR_IMAGETYPE] 더블클릭 메뉴추가 2 [MFC ClassWizard] 대화상자를이용해추가된메뉴에서유사연산자에지검출처리를실행하는함수추가 3 Doc 클래스에다음프로그램추가 12

[ 실습하기 7-2] 유사연산자에지검출처리프로그램 ➊ OnHomogenOperator 함수추가하기 void CImageProcessingDoc::OnHomogenOperator() { int i, j, n, m; double max, **tempoutputimage; m_re_height = m_height; m_re_width = m_width; m_re_size = m_re_height * m_re_width; m_outputimage = new unsigned char [m_re_size]; m_tempimage = Image2DMem(m_height + 2, m_width + 2); tempoutputimage = Image2DMem(m_Re_height, m_re_width); for(i=0 ; i<m_height ; i++){ for(j=0 ; j<m_width ; j++){ m_tempimage[i+1][j+1] = (double)m_inputimage[i * m_width + j]; } } 13

[ 실습하기 7-2] 유사연산자에지검출처리프로그램 ➊ OnHomogenOperator 함수추가하기 ( 계속 ) for(i=0 ; i<m_height ; i++){ for(j=0 ; j<m_width ; j++){ max = 0.0; // 블록이이동할때마다최대값초기화 for(n=0 ; n<3 ; n++){ for(m=0 ; m<3 ; m++){ if(doubleabs(m_tempimage[i+1][j+1] - m_tempimage[i+n][j+m]) >= max) // 블록의가운데값 - 블록의주변픽셀값의절대값 // 중에서최대값을찾는다. } } max = DoubleABS(m_tempImage[i+1] [j+1] - m_tempimage[i+n][j+m]); } } tempoutputimage[i][j] = max; // 찾은최대값을출력값으로지정 14

[ 실습하기 7-2] 유사연산자에지검출처리프로그램 ➊ OnHomogenOperator 함수추가하기 ( 계속 ) for(i=0 ; i< m_re_height ; i++){ for(j=0 ; j< m_re_width ; j++){ if(tempoutputimage[i][j] > 255.) tempoutputimage[i][j] = 255.; if(tempoutputimage[i][j] < 0.) tempoutputimage[i][j] = 0.; } } } for(i=0 ; i< m_re_height ; i++){ for(j=0 ; j< m_re_width ; j++){ m_outputimage[i* m_re_width + j] = (unsigned char)tempoutputimage[i][j]; } } 15

[ 실습하기 7-2] 유사연산자에지검출처리프로그램 ➋ DoubleABS 함수추가하기 double CImageProcessingDoc::DoubleABS(double X) { // 실수의절대값연산함수 if(x >= 0) return X; else return -X; } 16

[ 실습하기 7-2] 유사연산자에지검출처리프로그램 4 View 클래스에다음프로그램추가 void CImageProcessingView::OnHomogenOperator() { CImageProcessingDoc* pdoc = GetDocument(); ASSERT_VALID(pDoc); pdoc->onhomogenoperator(); } Invalidate(TRUE); 17

[ 실습하기 7-2] 유사연산자에지검출처리프로그램 5 프로그램실행결과영상 18

차연산자기법 유사연산자의계산시간이오래걸리는단점을보안해주는방법 뺄셈연산이여덟번필요한유사연산자와는달리화소당네번만사용되어연산시간이빠름. 19

차연산자기법 ( 계속 ) 20

임계값을이용한에지처리 보통에지추출기와함께사용되어강한에지는강하게, 약한에지를약화게함. 효율적으로영상처리를하기위해서는검출된에지를강조하거나약화시킬필요가있음. 21

Section 03 1 차미분을이용한에지검출 디지털영상의에지는화소의밝기값이급격히변하는부분이므로, 이변화부분을탐지하는연산을이용해에지검출 에지추출에는함수의변화분을찾는미분연산이이용됨. 22

1 차미분을이용한에지검출 ( 계속 ) 좌표 (x, y) 에서각방향으로의편미분 이웃데이터와의차이값으로표현되므로, 디지털영상의미분은각방향의변화율을나타냄. Hr 는행검출기, Hc 는열검출기 23

영상의전체변화분의크기계산 1 차미분을이용한에지검출 ( 계속 ) 에지검출을위한 1차미분연산을영역처리기법의회선처리로수행하려면행검출기 Hr과열검출기 Hc를회선마스크로생성편미분식에서제시된이웃데이터와의차이를표현하는회선마스크를얻을수얻음. 얻은 1차미분회선마스크는이동과차분의회선마스크와형태가비슷함. 마스크의크기가클수록상세한에지를검출하기어렵고, 작으면잡음에민감하며, 회선마스크의합은 0이됨 24

1 차미분을이용한에지검출 ( 계속 ) 25

종류가다양함. 1 차미분회선마스크의종류 로버츠 (Roberts), 소벨 (Sobel), 프리윗 (Prewitt) 마스크가대표적 행검출마스크와열검출마스크가있으며, 각회선마스크는고유한특징이있음. 26

로버츠마스크 장점 : 크기가작아매우빠른속도로동작하여효과적으로사용가능. 단점 : 돌출된값을잘평균할수없으며, 잡음에민감함. 27

프리윗마스크 장점 : 돌출된값을비교적잘평균화함. 단점 : 대각선보다수평과수직에놓인에지에더민감하게반응함. 28

소벨마스크 장점 : 돌출된값을비교적잘평균화함. 단점 : 대각선방향에놓인에지에더민감하게반응함. 29

Compass Gradient Operator 에지를좀더정확하게검출하려고각기다른방향의마스크여덟개를이용하여에지를검출하는방법 여덟방향으로수행한연산의결과중최대값을최종출력으로결정함. 단점 마스크의크기가작을수록잡음에민감하고, 클수록상세한에지를검출할수없음. 30

Section 04 2 차미분을이용한에지검출 임의의이산함수 f(x) 에서의 1 차미분과 2 차미분결과 2 차미분을이용한에지검출기는미분을한번더수행하므로, 1 차미분의단점을완화시켜둔감하게반응하도록만듦. 1 차미분을이용한에지검출기의단점 : 에지가있는영역을지날때민감하게반응 2 차미분을이용한에지검출기의장점과단점 장점 : 검출된에지를끊거나하지않고연결된폐곡선을형성함. 단점 : 고립된잡음에민감하고, 윤곽의강도만검출하지방향은구하지못함. 31

2 차미분을이용한에지검출 ( 계속 ) 2 차미분연산은에지부분에서부호가바뀌는영교차 (Zero Crossing) 의특성이있음. 32

라플라시안 (Laplacian) 연산자 대표적인 2 차미분연산자로, 모든방향의에지를강조함. 라플라시안연산자공식 33

라플라시안 (Laplacian) 연산자 ( 계속 ) 1 차미분의회선마스크에는행과열방향의회선마스크가있으나, 2 차미분의라플라시안회선마스크에는행과열방향이합쳐져한개만있음. 회선마스크의합은 0 34

[ 실습하기 7-3] 라플라시안처리프로그램 1 ResourceView 창에서 [Menu]-[IDR_IMAGETYPE] 더블클릭 메뉴추가 2 [MFC ClassWizard] 대화상자를이용해추가된메뉴에서라플라시안처리를실행하는함수추가 3 Doc 클래스에다음프로그램추가 35

[ 실습하기 7-3] 라플라시안처리프로그램 void CImageProcessingDoc::OnLaplacian() { int i, j; double LaplacianMask[3][3] = {{0., 1., 0.}, {1., -4., 1.}, {0., 1., 0.}}; m_re_height = m_height; m_re_width = m_width; m_re_size = m_re_height * m_re_width; m_outputimage = new unsigned char [m_re_size]; m_tempimage = OnMaskProcess(m_InputImage, LaplacianMask); // m_tempimage = OnScale(m_tempImage, m_re_height, m_re_width); for(i=0 ; i< m_re_height ; i++){ for(j=0 ; j< m_re_width ; j++){ if(m_tempimage[i][j] > 255.) m_tempimage[i][j] = 255.; if(m_tempimage[i][j] < 0.) m_tempimage[i][j] = 0.; } } } for(i=0 ; i< m_re_height ; i++){ for(j=0 ; j< m_re_width ; j++){ m_outputimage[i* m_re_width + j] = (unsigned char)m_tempimage[i][j]; } } 36

[ 실습하기 7-3] 라플라시안처리프로그램 4 View 클래스에다음프로그램추가 void CImageProcessingView::OnLaplacian() { CImageProcessingDoc* pdoc = GetDocument(); ASSERT_VALID(pDoc); pdoc->onlaplacian(); } Invalidate(TRUE); 37

5 프로그램실행결과영상 [ 실습하기 7-3] 라플라시안처리프로그램 잡음성분에매우민감하여실제보다더많은에지를검출하므로에지의크기를서로비교하여임계값이상일때만에지로정의 38

LoG(Laplacian of Gaussian) 연산자잡음에매우민감한라플라시안마스크를이용한에지검출기의문제점을해결하기위해만듦. 가우시안스무딩을수행하여잡음제거과정을거친뒤에지를강조하려고라플라시안을이용함. LoG 연산자공식 39

LoG(Laplacian of Gaussian) 연산자 ( 계속 ) 40

LoG(Laplacian of Gaussian) 연산자 ( 계속 ) LoG 를수행하는두가지방법 가우시안스무딩필터링을먼저수행하고그결과값에라플라시안을수행하는방법 LoG 필터에해당하는선형필터링을한꺼번에수행하는방법 41

DoG(Difference of Gaussians) 연산자 계산시간이많이소요되는 LoG 연산자의단점을보안하기위해등장 각가우시안연산에분산값을서로다르게주어이차를이용해에지맵을구함 DoG 공식 DoG( x, y) ( x 2 y 2 2 1 e 2 2 2 1 ) ( x 2 y 2 2 2 e 2 2 2 2 ) 장점 σ1 과 σ2 의값을변화시켜검출할에지의넓이를조절할수있음. σ1 /σ2=1.6 의값이있는비율이 LoG 와가장비슷한결과를나타냄. 42

DoG(Difference of Gaussians) 연산자 ( 계속 ) 43

DoG(Difference of Gaussians) 연산자 ( 계속 ) 44

컬러영상에서의에지검출 RGB 컬러모델을사용할경우 R, G, B 각각에서에지검출을위한회선을수행후검출된에지를다시합해컬러영상의에지를얻음. 검출된각성분의에지를합치는공식 E( x, y) E 2 red ( x, y) E 2 green ( x, y) E 2 blue ( x, y) HSI 컬러모델을사용할경우 RGB 컬러모델을 HSI 컬러모델로변환하여명도값 (I) 에서만회선을적용한뒤 RGB 컬러모델로변경하여컬러영상의에지를얻음. 45

컬러영상에서의에지검출 ( 계속 ) 46

에지 요약 디지털영상의밝기가낮은값에서높은값으로또는높은값에서낮은값으로변하는지점 (= 경계선 ) 간단한에지추출기법 연산자체가간단하고빠름. 유사연산자와차연산자, 임계값처리방법이대표적 유사연산자 차연산자 가장단순한방법으로, 일련의화소를감산한값에서최대값을결정하여에지를검출 계산시간이오래걸리는유사연산자의단점해결위해제시 화소당뺄셈연산이네개만사용되어서빠른연산수행가능 임계값을이용한에지처리 보통에지추출기와함께사용되어강한에지는강하게, 약한에지는약화시키는역할수행 1 차미분회선마스크 종류가다양 로버츠, 소벨, 프리윗마스크가대표적 47

Compass Gradient Operator 요약 에지를좀더정확하게검출하려고다른방향의마스크여덟개를이용하여에지를검출하는방법 2 차미분에지검출기 라플라시안, LoG, DoG 등이대표적 라플라시안에지검출기 LoG LoG 에지검출성능이우수하여다른연산자보다더욱더두드러지게에지추출 에지의방향은검출하지못하고, 잡음성분에매우민감하여실제보다많은에지를검출. 잡음에민감한라플라시안의문제를해결하기위해만듦. 라플라시안을적용하기전에가우시안스무딩을수행하여잡음을제거한뒤에지를강조하는데라플라시안을이용 계산시간이많이소요됨. 계산시간이많이소요되는 LoG 의단점보완위해등장 48

요약 컬러영상에서의에지검출 RGB 컬러모델사용시 : R, G,B 각각에서에지검출을위한회선을수행 검출된에지를다시합침. HSI 컬러모델사용시 : RGB 모델을 HSI 모델로변환하여명도값 (I) 에만회선을적용 RGB 모델로변경해서컬러영상의에지를구함. 49

Thank you