사용방법은 (cvwavelet GrayScaleImage method) 로 GrayScaleImage 는 cvcvtcolor 함수를이 용하여 Gray 영상으로변환한리턴값을이용한다. method 는웨이블릿에사용할알고리즘을말하는데 하웨이블릿만구현되어있으므로 0 을입력한다.

Similar documents
PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

종합설계중간보고서 _1 - 네트워크기반수배차량인식프로그램 이태화 이재형

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

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

인접차량인식 PGM FOR ADAS

歯이칠우(01-02).PDF

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

Microsoft PowerPoint - chap06-5 [호환 모드]

PowerPoint 프레젠테이션

<31382EB9DAB1A4BFED5F32C2F7BFF82E687770>

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

REP - CP - 016, N OVEMBER 사진 요약 25 가지 색상 Surf 를 이용한 사진 요약과 사진 배치 알고리즘 Photo Summarization - Representative Photo Selection based on 25 Color Hi

(JBE Vol. 21, No. 1, January 2016) (Regular Paper) 21 1, (JBE Vol. 21, No. 1, January 2016) ISSN 228

PowerPoint 프레젠테이션

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

실험 5

Structure and Interpretation of Computer Programs: Assignment 3 Seung-Hoon Na October 4, George (아래 3개의 문제에 대한 구현이 모두 포함된 george.rkt파일을 제출하시오.

설계란 무엇인가?

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

; struct point p[10] = {{1, 2, {5, -3, {-3, 5, {-6, -2, {2, 2, {-3, -3, {-9, 2, {7, 8, {-6, 4, {8, -5; for (i = 0; i < 10; i++){ if (p[i].x > 0 && p[i

Microsoft PowerPoint - chap06-2pointer.ppt

쉽게 풀어쓴 C 프로그래밍

멀티미디어시스템특강5

Microsoft PowerPoint - ch07 - 포인터 pm0415

ch3.hwp

KNK_C_05_Pointers_Arrays_structures_summary_v02

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

<B8D6C6BCB9CCB5F0BEEEBDC3BDBAC5DB28BFB5BBF3C3B3B8AE292DBFE4BEE0C1A4B8AE3128B9DAB1E2C8AB292E687770>

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

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

C# Programming Guide - Types

BMP 파일 처리

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

DioPen 6.0 사용 설명서

Microsoft PowerPoint - chap10-함수의활용.pptx

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2

제안서 평가항목은 평가위원의 주관적인 판단이 필요한 정성평가와 객관적인 데이터에 의한 정량평가로 구성되어 있으며, 기관 및 투입 인력 평가(투입인력 전문성 및 전문인력 보유 현황) 책임연구원 전문성(관련 분야 저서 및 논문 발표 실적) 유사용역 사업 수행 실적(최근 3

Microsoft PowerPoint - chap11-포인터의활용.pptx

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

실행결과예 IplImage 구조체정보의보존 cvwrite, cvwritecomment IplImage 구조체의정보를파일에보존한다 표시의변환 샘플코드 #include <cv.h> #include <highgui.h> int main (int argc, char *argv

Microsoft PowerPoint - chap04-연산자.pptx

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

쉽게 풀어쓴 C 프로그래밍

04 Çмú_±â¼ú±â»ç

Microsoft PowerPoint - chap06-1Array.ppt

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx

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

PowerPoint Template

Microsoft PowerPoint - IP11.pptx

Lab10

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

Microsoft PowerPoint - Java7.pptx

Microsoft PowerPoint - Chap12-OOP.ppt

한국통계학회논문집 2009, 16권, 4호, 영상에서 윈도우 배치에 따른 통계적 에지검출 비교 임동훈 1,a a 경상대학교 정보통계학과 요약 본 논문에서는 영상의 에지검출을 하는데 사용되는 여러 가지 윈도우 배치(window configurations)하

1. 서 론

구조체정의 자료형 (data types) 기본자료형 (primitive data types) : char, int, float 등과같이 C 언어에서제공하는자료형. 사용자정의자료형 (user-defined data types) : 다양한자료형을묶어서목적에따라새로운자료형을

PowerPoint 프레젠테이션

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

statistics

Multi-pass Sieve를 이용한 한국어 상호참조해결 반-자동 태깅 도구

<33302DC1A4BAB8C5EBBDC5C0CFB9DDB9D7B1B3C0B02D B1E8B3B2C8A3292E687770>

Microsoft PowerPoint - chap13-입출력라이브러리.pptx

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

소성해석

<B9CCB5F0BEEE20C1A4BAB8C3B3B8AE2E687770>

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

Chapter3

PHP & ASP

OOO Paint

OOO Paint

PowerPoint Template

<353720B1E8B0FCC1DF2DC0A7C4A120C1A4BAB820B1E2B9DD20B0B4C3BCC0CEC1F6BFA12E687770>

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

2.에지 밀도 정보를 이용한 회화적 렌더링.hwp

JVM 메모리구조

Microsoft PowerPoint - LA_ch6_1 [호환 모드]

OCW_C언어 기초

Microsoft PowerPoint - logo_2-미해답.ppt [호환 모드]

<323120C0CCB1D9BFD5322DBFA1C1F620B9D720B1B9BACE20C3D6BCD25FC3D6B4EB20BAAFC8AF2E687770>

응답하라, 메가스터디 재수를 말한다. Ⅰ. 재수 大 해부 예전에 재수생이라고 하면 성적이 좋지 않아 대학입시에 실패한 학생 이라는 인식이 지배 적이었다. 하지만 최근에는 재수를 목표를 향한 재도전 이라고 긍정적으로 평가하는 경 향이 뚜렷해졌다. 때문에 대학

adfasdfasfdasfasfadf

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

PowerPoint 프레젠테이션

중간고사

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

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

12 강. 문자출력 Direct3D 에서는문자를출력하기위해서 LPD3DXFONT 객체를사용한다 LPD3DXFONT 객체생성과초기화 LPD3DXFONT 객체를생성하고초기화하는함수로 D3DXCreateFont() 가있다. HRESULT D3DXCreateFont

슬라이드 1

PowerPoint 프레젠테이션

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

Microsoft PowerPoint - 27.pptx

이발명을지원한국가연구개발사업 과제고유번호 C 부처명 중소기업청 연구관리전문기관 ( 사 ) 한국산학연협회 연구사업명 산학연공동기술개발지역사업 연구과제명 스마트폰센서와영상인식기술을이용한안전운전서비스 SW 개발 기여율 1/1 주관기관 가천대학교산학협력단 연구기간

Microsoft Word - FunctionCall

좋은 사진 찍는 방법

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

디지털영상처리3

Transcription:

19) cvsmooth 저주파통과필터링은일반적으로처리할영상성분중에화소값의변화율이낮은저주파성분은통과시키고, 화소값의변화율이큰고주파성분을차단시키는것을가리킨다. 저주파통과필터링을수행한영상은윤곽선부분을이루는고주파성분이제거되어전체영상이부드러워지게되는데이현상을가리켜블러링 (blurring) 이라한다. 잡음 (noise) 를제거하는것이가능하지만, 영상이부드러워지고희미해지기때문에영상대비가악화된다는단점이있다. 이를위한함수인 cvsmooth는기본블러링 (simple blurring), 가우시안블러링 (Gaussian blurring), 중간값블러링 (median blurring), 바이래터럴스무딩 (bilateral smoothing) 등의네가지블러링기능을제공한다. 사용방법은 (cvsmooth AllocImage type mask_width mask_height) 로 AllocImage는 cvloadimage 함수를이용하여받은리턴값을이용하고 type은 BLUR_NO_SCALE, BLUR, GAUSSIAN, MEDIAN, BILATERAL이있다. mask_width는마스크의너비, mask_height는 mask의높이를나타낸다. (set 'lena (cvloadimage 'images\lena.jpg)) (set 'smooth (cvsmooth lena GAUSSIAN 3 3)) (set 'smooth (cvsmooth smooth GAUSSIAN 3 3)) (set 'smooth (cvsmooth smooth GAUSSIAN 3 3)) (cvshowimage smooth 'result) (cvreleaseimage smooth) (cvreleaseimage lena) 그림 1. cvsmooth 20) cvwavelet 웨이블릿이란이미지압축에사용되고신호처리할수있는알고리즘이다. 구현한알고리즘은하 (haar) 웨이블릿알고리즘을이용하여구현하였다. 하웨이블릿알고리즘을자세히알고싶은부분이 있다면다음사이트 (http://dmr.ath.cx/gfx/haar/) 를참조바란다.

사용방법은 (cvwavelet GrayScaleImage method) 로 GrayScaleImage 는 cvcvtcolor 함수를이 용하여 Gray 영상으로변환한리턴값을이용한다. method 는웨이블릿에사용할알고리즘을말하는데 하웨이블릿만구현되어있으므로 0 을입력한다. (set 'baboon (cvloadimage 'images\baboon.jpg)) (set 'gray (cvcvtcolor baboon RGB2GRAY 1)) (set 'wavelet (cvwavelet baboon 0)) (cvshowimage wavelet 'result) (cvreleaseimage wavelet) (cvreleaseimage gray) (cvreleaseimage baboon) 21) cvsetimageroi cvsetimageroi의 ROI는 Region Of Interest의약자로입력받은이미지에서일정한영역을선택한다. 사용방법은 '(cvsetimageroi AllocImage startx starty width height)' 로 AllocImage는 cvloadimage 함수를이용하여받은리턴값을이용하고 startx, starty는시작좌표를의미하고, width, height는시작좌표로부터가로길이, 세로길이를의미한다. (set 'airplane (cvloadimage 'images\airplane.jpg)) (set 'roi (cvsetimageroi airplane 100 100 300 300)) (cvshowimage roi 'result) (cvreleaseimage roi) (cvreleaseimage airplane) 22) cvresize 특정한보간법에의해영상의크기를조절한다. 사용방법은 '(cvresize AllocImage interpolation scale)' 로 AllocImage는 cvloadimage 함수를이용하여받은리턴값을이용하고 interpolation은보간법상수로최근접이웃보간법 (INTER_NN), 양선형보간법 (INTER_LINEAR), 재샘플링 (INTER_AREA), 고등차수보간법 (INTER_CUBIC) 을선택하여입력하고 scale은확대 / 축소값이다.

(set 'airplane (cvloadimage 'images\airplane.jpg)) (set 'resize (cvresize airplane INTER_NN 2)) (cvshowimage resize 'result) (cvreleaseimage resize) (cvreleaseimage airplane) 23) cvrotation 회전 (Rotation) 은원영상을원하는각도만큼변환하는것을가리킨다. 사용방법은 '(cvrotation GrayScaleImage centerx centery angle)' 로 GrayScaleImage는명암도레벨의영상을입력하고 centerx와 centery는이미지영역의좌표를나타내며이좌표를기준으로 angle의각도값만큼회전하게된다. (set 'airplane (cvloadimage 'images\airplane.jpg)) (set 'gray (cvcvtcolor airplane RGB2GRAY 1)) (set 'width (cvgetimagelength gray 'width)) (set 'height (cvgetimagelength gray 'height)) (set 'rotation (cvrotation gray (/ width 2) (/ height 2) 45)) (cvshowimage rotation 'result) (cvreleaseimage rotation) (cvreleaseimage gray) (cvreleaseimage airplane) 그림 2. 회전 (Rotation)

24) cvreflect 반사 (Reflect) 는회전과거의비슷한효과를가진다. 상하뒤집기인플립 (flip), 좌우뒤집기인거울효과 (mirroring effect) 를낼수있다. 사용방법은 '(cvreflect AllocImage flipmode)' 로 AllocImage 는 cvloadimage 함수를이용하여받은리턴값을이용하고 flipmode는플립 (REFL_FLIP), 거울 (REFL_MIRROR), 플립 + 거울 (REFL_FLIP_MIRROR) 효과을선택하여입력한다. (set 'airplane (cvloadimage 'airplane.jpg)) (set 'reflect (cvreflect airplane REFL_FLIP)) (cvshowimage reflect 'result) (cvreleaseimage reflect) (cvreleaseimage airplane) 그림 3. Original Image 그림 4. 거울 (REFL_MIRROR)

그림 5. 플립 (REFL_FLIP) 그림 6. 플립 + 거울 (REFL_FLIP_MIRROR) 25) cvtranslate 이동 (translate) 은영상의시작화소인좌표 (startx, starty) 에서부터끝화소인좌표 (endx, endy) 를 widthlength, heightlength만큼영상을옮기는것이다. 상하뒤집기인플립 (flip), 좌우뒤집기인거울효과 (mirroring effect) 를낼수있다. 사용방법은 '(cvtranslate GraySacleImage startx starty endx endy widthlength heightlength)' 로 GrayScaleImage는명암도레벨의영상을입력하고 startx, starty는사각형의왼쪽상위시작좌표를의미하고, endx, endy는사각형의오른쪽하위끝좌표를의미한다. 이좌표를이용한사각형만큼 widthlength가양수이면오른쪽, 음수이면왼쪽으로이동하고 heightlength가양수이면아래, 음수이면위로이동한다.

(set 'airplane (cvloadimage 'images\airplane.jpg)) (set 'gray (cvcvtcolor airplane RGB2GRAY 1)) (set 'width (cvgetimagelength gray 'width)) (set 'height (cvgetimagelength gray 'height)) (set 'translate (cvtranslate gray 0 0 (/ width 2) (/ height 2) (/ width 2) 0)) (cvshowimage translate 'result1) (cvreleaseimage translate) (set 'translate (cvtranslate gray 0 0 (/ width 2) (/ height 2) 0 (/ height 2))) (cvshowimage translate 'result2) (cvreleaseimage translate) (set 'translate (cvtranslate gray 0 0 (/ width 2) (/ height 2) (/ width 2) (/ height 2))) (cvshowimage translate 'result3) (cvreleaseimage translate) (cvreleaseimage gray) (cvreleaseimage airplane) 그림 7. Original Image 그림 8. 첫번째연산

그림 9. 두번째연산 그림 10. 세번째연산 26) cvmatchtemplate 템플릿매칭은템플릿영상 (AllocImage2) 과입력영상 (AllocImage1) 을비교하여유사한부분을찾는다. 이를위해 cvmatchtempate 함수를이용한다. 사용방법은 (cvmatchtemplate AllocImage1 AllocImage2 templatemethod) 로 AllocImage1, AllocImage2는 cvloadimage 함수를이용하여받은리턴값을이용한다. templatemethod는매칭시킬방법을말한다. cvmatchtemplate의리턴값은 Point 값으로매칭된사각형의왼쪽상위좌표값이리턴된다. (set 'a (cvloadimage 'images\baboon.jpg)) (set 'b (cvloadimage 'images\babooneyes.jpg)) (set 'c (cvmatchtemplate a b TM_CCORR_NORMED)) (cvreleaseimage a) (cvreleaseimage b) 3.3. 객체를대상으로하는처리 1) cvdrawcircle 영상에서원을그리고싶을때 cvdrawcircle 함수를이용한다. 사용방법은 (cvdrawcircle AllocImage middlepointx middlepointy size cvsetrgb thickness) 로 AllocImage는 cvloadimage 함수를이용하여받은리턴값을이용한다. 단, 3차원영상만을입력받아야한다. middlepointx와 middlepointy는원의중점좌표를입력한다. size는원의크기를말하고 cvsetrgb는 cvsetrgb 함수를이용한리턴값을이용하고 thickness는원의선굵기를입력한다.

(set 'airplane (cvloadimage 'images\airplane.jpg)) (set 'blue (cvsetrgb 0 0 255)) (cvdrawcircle airplane 200 200 50 blue 3) (cvshowimage airplane 'result) (cvreleaseimage airplane) 그림 11. cvdrawcircle 2) cvdrawline 영상에서선을그리고싶을때 cvdrawline 함수를이용한다. 사용방법은 (cvdrawline AllocImage leftx lefty rightx righty cvsetrgb thickness) 로 AllocImage는 cvloadimage 함수를이용하여받은리턴값을이용한다. 단, 3차원영상만을입력받아야한다. leftx와 lefty는선의왼쪽좌표를입력하고, rightx와 righty는선의오른쪽좌표를입력한다. cvsetrgb는 cvsetrgb 함수를이용한리턴값을이용하고 thickness는사각형선의굵기를입력한다. (set 'airplane (cvloadimage 'images\airplane.jpg)) (set 'blue (cvsetrgb 0 0 255)) (cvdrawline airplane 30 30 200 200 blue 3) (cvshowimage airplane 'result) (cvreleaseimage airplane)

그림 12. cvdrawline 3) cvlabeling cvlabeling 함수는이진화된영상에서레이블링 (labeling) 하기위한함수이다. 레이블링이란인접한화소에모두같은번호 (label) 를붙이고연결되지않은다른성분에는다른번호를붙이는것이다. 사용방법은 (cvlabeling BinaryImage thresholdpixelnumber thresholdpixelvalue number) 로 BinaryImage는 cvthreshold 함수를이용하여받은리턴값을이용한다. 즉, 이진화된영상만을입력받아야한다. thresholdpixelnumber는최소픽셀의개수를의미한다. thresholdpixelvalue는해당값과같은픽셀을찾아레이블링시킨다. number는인자값 0, 1만을사용하며 0을입력하면사각형구조체들을리턴하고, 1를입력하면찾은총개수를리턴한다. (set 'baboon (cvloadimage 'images\baboon.jpg)) (set 'gray (cvcvtcolor baboon RGB2GRAY 1)) (set 'thre (cvthreshold gray 200 THRESH_BINARY)) (set 'rects (cvlabeling thre 200 255 0)) (set 'x1 (cvgetrect rects 0 'x)) (set 'y1 (cvgetrect rects 0 'y)) (set 'w1 (cvgetrect rects 0 'width)) (set 'h1 (cvgetrect rects 0 'height)) (set 'blue (cvsetrgb 0 0 255)) (cvdrawrect baboon x1 y1 (+ x1 w1) (+ y1 h1) blue 2) (cvshowimage baboon 'result) (cvreleaseimage thre) (cvreleaseimage gray) (cvreleaseimage baboon)

4) cvcolorlabeling cvcolorlabeling 함수는 3차원영상에서레이블링 (labeling) 하기위한함수이다. 레이블링이란인접한화소에모두같은번호 (label) 를붙이고연결되지않은다른성분에는다른번호를붙이는것이다. 사용방법은 (cvcolorlabeling ColorImage MinPixelThreshold MaxPixelThreshold MinPixelValue MaxPixelValue number) 로 ColorImage는 3차원이미지를이용한다. 즉, RGB, YCrCb 영상등을이용할수있다. MinPixelThreshold는최소픽셀의개수를의미하고, MaxPixelThreshold는최대픽셀의개수를의미한다. MinPixelValue는해당픽셀값의최소픽셀을의미하고, MaxPixelValue는해당픽셀값의최대픽셀을의미하여그값에해당하는픽셀을찾아레이블링시킨다. number는인자값 0, 1, 2, 3를사용하며 0을입력하면사각형구조체들을리턴하고, 1 를입력하면찾은총개수를리턴한다. 2을입력하면 1차원레이블링영역이생성되고, 3를입력하면 3차원레이블링영역이생성된다. (set 'baboon (cvloadimage 'images\baboon.jpg)) (set 'boundary (cvcolorlabeling baboon 300 4000 100 150 3)) (cvshowimage boundary 'result) (cvreleaseimage boundary) (cvreleaseimage baboon) 그림 13. cvcolorlabeling 5) cvextractsamepixel cvextractsamepixel 함수는입력받은영상에서같은픽셀값의좌표를가져오기위한함수이다. 레 이블링된이미지에서같은주위영역을가져오기위한함수로사용된다. 사용방법은 (cvextractsamepixel grayscaleimage pixelvalue) 로 grayscaleimage 는

cvcvtcolor 함수를이용하여 Gray 영상으로변환한리턴값을이용하고, pixelvalue 는해당픽셀값을 입력하며 0~255 까지허용한다. (set 'baboon (cvloadimage 'images\baboon.jpg)) (set 'boundary (cvcolorlabeling baboon 300 4000 100 150 3)) (set 'SP1 (cvextractsamepixel boundary 1)) (set 'whiteimg (cvcloneimage baboon)) (set 'white (cvsetscalar 255 255 255 0)) (cvset whiteimg white) (cvsetpixel baboon whiteimg SP1 0 0) (cvshowimage whiteimg 'result) (cvreleaseimage whiteimg) (cvreleaseimage boundary) (cvreleaseimage baboon) 그림 14. cvextractsamepixel 6) cvcreatestructuringelement 모폴로지기반처리를위해구조화요소 (structuring element) 를생성한다. 사용방법은 (cvcreatestructuringelement cols rows anchor_x anchor_y shape) 로 cols는구조화요소의높이, rows는구조화요소의너비, anchor_x는수평방향에서의시작위치, anchor_y는수직방향에서의시작위치, shape는정사각형 (SHAPE_RECT), 십자가형 (SHAPE_CROSS), 타원형 (SHAPE_ELLIPSE) 으로나타낼수있다.

(set 'element (cvcreatestructuringelement 3 3 1 1 SHAPE_RECT)) 7) cvreleasestructuringelement 할당된구조화요소 (structuring element) 에대한메모리를해제한다. 사용방법은 (cvcreatestructuringelement cvcreatestructuringelement) 로 cvcreatestructuringelement 는 cvcreatestructuringelement 의리턴값을입력한다. (set 'element (cvcreatestructuringelement 3 3 1 1 SHAPE_RECT)) (cvreleasestructuringelement element) 8) cverode 침식연산 (erosion operator) 은배경을확장시키고객체의크기를축소한다. 주로객체안이나객체와배경사이에있는잡음또는임펄스 (impulse) 잡음을제거하기위해쓰인다. 이를위해 cverode 함수를이용한다. 사용방법은 '(cverode Binary/GrayScaleImage cvcreatestructuringelement iterations)' 로 Binary/GrayScaleImage는이진화된이미지나명암도레벨의영상을입력하고 cvcreatestructuringelement는 cvcreatestructuringelement의리턴값을입력한다. iterations는반복횟수를말한다. (set 'ab (cvloadimage 'images\lena.jpg)) (set 'gray (cvcvtcolor ab RGB2GRAY 1)) (set 'element (cvcreatestructuringelement 3 3 1 1 SHAPE_RECT)) (set 'erode (cverode gray element 1)) (cvshowimage erode 'result) (cvreleasestructuringelement element) (cvreleaseimage erode) (cvreleaseimage gray) (cvreleaseimage ab)

그림 15. cverode 9) cvdilate 팽창연산 (dilation operator) 은침식연산과반대의역할을하며, 배경을축소시키고객체의크기를확장한다. 또한객체안의빈공간을메우는역할을한다. 이를위해 cvdliate 함수를사용한다. 사용방법은 '(cvdilate Binary/GrayScaleImage cvcreatestructuringelement iterations)' 로 Binary/GrayScaleImage는이진화된이미지나명암도레벨의영상을입력하고 cvcreatestructuringelement는 cvcreatestructuringelement의리턴값을입력한다. iterations는반복횟수를말한다. (set 'ab (cvloadimage 'images\lena.jpg)) (set 'gray (cvcvtcolor ab RGB2GRAY 1)) (set 'element (cvcreatestructuringelement 3 3 1 1 SHAPE_RECT)) (set 'dilate (cvdilate gray element 1)) (cvshowimage dilate 'result) (cvreleasestructuringelement element) (cvreleaseimage dilate) (cvreleaseimage gray) (cvreleaseimage ab)

그림 16. cvdliate 10) cvmorpholgy 열림연산 (opening operator) 은침식연산과팽창연산순으로조합하여수행한다. 축소한다음다시객체를확장시키므로원영상과동일할것이라고생각하기쉬운데실제로침식연산을수행하면미세한잡음을제거하는역할을한다. 그리고다시팽창연산을수행하면원영상의크기로돌아가기때문에어느정도잡음을제거한결과를얻는다. 닫힘연산 (closing operator) 은팽창연산과침식연산순으로조합하여수행한다. 팽창연산으로객체를확장하기때문에객체내빈공간이매워진후, 침식연산으로원영상의크기로돌아가게한다. 탑-햇 (top-hat) 연산은원명암도영상에서열림연산을수행한결과를차연산한다. 모폴로지그래디언트 (morpholgy gradient) 연산은팽창연산과침식연산수행한결과를차연산한것이다. 사용방법은 '(cvmorphology Binary/GrayScaleImage CreateStructuringElement operation)' 로 Binary/GrayScaleImage는이진화된이미지나명암도레벨의영상을입력하고 cvcreatestructuringelement는 cvcreatestructuringelement의리턴값을입력한다. operation은연산타입을말한다.

(set 'ab (cvloadimage 'images\lena.jpg)) (set 'gray (cvcvtcolor ab RGB2GRAY 1)) (set 'element (cvcreatestructuringelement 3 3 1 1 SHAPE_RECT)) (set 'morphology (cvmorphology gray element MOP_OPEN)) (cvshowimage morphology 'result) (cvreleasestructuringelement element) (cvreleaseimage morphology) (cvreleaseimage gray) (cvreleaseimage ab) 그림 17. 열림연산 (opening operator) 그림 18. 닫힘연산 (closing operator)