33
- 1 - 목원대학교 컴퓨터공학부 - 수업내용 요약 - ▷ 교과목 : 멀티미디어시스템 영상을 이용한 디지털 신호처리 ▷ 구 : 멀티미디어의 개념 및 디지털 영상처리 ▷ 교 : 박 기 홍 참고문헌: 멀티미디어 이해와 활용 (한빛미디어, 2013) Matlab을 이용한 실용디지털 영상처리 (홍릉과학출판사, 2011, 개정판) Visual C++ 을 이용한 실용영상처리(생능출판사, 20011, 개정판) I N D E X 0. 멀티미디어의 정의와 특징, 활용 ···························································· 2 0. 멀티미디어의 역할 및 디지털 컨버전스 ··············································· 3 ※ 이미지 방식의 차이(Vetor, Bitmap 방식의 차이) ······························· 4 1. 디지털 영상처리의 개요(정의 분야) ······················································ 5 2. 컬러 공간 ···································································································· 7 3. 화소값 기반 처리 ···················································································· 11 3. 명암 및 밝기 조절 ··················································································· 12 3. 히스토그램 ································································································ 12 3. 히스토그램 평활화 ·················································································· 13 3. 명암대비 ···································································································· 15 4. 마스크 기반 처리 ···················································································· 18 4. 마스크 기반 처리(회선 처리) 원리 ······················································ 19 4. 양각 효과 ·································································································· 19 4. 블러링 ········································································································ 20 4. 샤프닝 ······································································································ 21 4. 블러링과 샤프닝 특징 비교 ··································································· 21 5. 에지 추출 ·································································································· 22 5. 1차 미분 ···································································································· 23 5. 에지 추출: Sobel, Prewitt, Roberts ························································ 23 6. 모자이크 효과 ·························································································· 24 7. 모폴로지 ···································································································· 24 7. 모폴로지: 침식 연산 ··············································································· 25 7. 모폴로지: 팽창 연산 ··············································································· 25 7. 모폴로지: 열림 연산 ··············································································· 26

목원대학교 컴퓨터공학부 - unit.mokwon.ac.krunit.mokwon.ac.kr/board/loadFile.ht?fileNm=2017... · Matlab을 이용한 실용디지털 영상처리 (홍릉과학출판사,

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 목원대학교 컴퓨터공학부 - unit.mokwon.ac.krunit.mokwon.ac.kr/board/loadFile.ht?fileNm=2017... · Matlab을 이용한 실용디지털 영상처리 (홍릉과학출판사,

- 1 -

목원대학교 컴퓨터공학부

- 수업내용 요약 -

▷ 교과목 : 멀티미디어시스템

영상을 이용한 디지털 신호처리

▷ 구 분 : 멀티미디어의 개념 및 디지털

영상처리

▷ 교 수 : 박 기 홍

참고문헌: ․ 멀티미디어 이해와 활용 (한빛미디어, 2013) ․ Matlab을 이용한 실용디지털 영상처리

(홍릉과학출판사, 2011, 개정판) ․ Visual C++ 을 이용한 실용영상처리(생능출판사, 20011, 개정판)

I N D E X0. 멀티미디어의 정의와 특징, 활용 ···························································· 2

0. 멀티미디어의 역할 및 디지털 컨버전스 ··············································· 3

※ 이미지 방식의 차이(Vetor, Bitmap 방식의 차이) ······························· 4

1. 디지털 영상처리의 개요(정의 분야) ······················································ 5

2. 컬러 공간 ···································································································· 7

3. 화소값 기반 처리 ···················································································· 11

3. 명암 및 밝기 조절 ··················································································· 12

3. 히스토그램 ································································································ 12

3. 히스토그램 평활화 ·················································································· 13

3. 명암대비 ···································································································· 15

4. 마스크 기반 처리 ···················································································· 18

4. 마스크 기반 처리(회선 처리) 원리 ······················································ 19

4. 양각 효과 ·································································································· 19

4. 블러링 ········································································································ 20

4. 샤프닝 ······································································································ 21

4. 블러링과 샤프닝 특징 비교 ··································································· 21

5. 에지 추출 ·································································································· 22

5. 1차 미분 ···································································································· 23

5. 에지 추출: Sobel, Prewitt, Roberts ························································ 23

6. 모자이크 효과 ·························································································· 24

7. 모폴로지 ···································································································· 24

7. 모폴로지: 침식 연산 ··············································································· 25

7. 모폴로지: 팽창 연산 ··············································································· 25

7. 모폴로지: 열림 연산 ··············································································· 26

Page 2: 목원대학교 컴퓨터공학부 - unit.mokwon.ac.krunit.mokwon.ac.kr/board/loadFile.ht?fileNm=2017... · Matlab을 이용한 실용디지털 영상처리 (홍릉과학출판사,

- 2 -

7. 모폴로지: 닫힘 연산 ··············································································· 26

8. 영상의 기하학적 변환 ············································································ 28

8. 영상의 사상 ······························································································ 28

8. 영상의 크기 변환 ···················································································· 29

8. 보간법 ········································································································ 29

8. 최근접 이웃 보간법 ················································································ 29

8. 양선형 보간법 ·························································································· 30

8. 영상의 회전 변환 ···················································································· 31

8. 영상의 회전 변환(특수각도) ·································································· 32

8. 영상의 좌우 대칭 ···················································································· 33

8. 영상의 상하 대칭 ···················································································· 33

9. 주파수 변환 ······························································································ 33

9. ························································································································

9. ························································································································

9. ························································································································

0 멀티미디어의 정의와 특징

※ 멀티미디어의 정의

․ 멀티미디어(Multimedia)는 멀티(Multi)와 미디어(Media)의 합성어로

다중 매체를 동시에 사용해 정보를 제공하는 것을 말함.

․ 미디어(Media)의 종류

- 텍스트(Text): 숫자와 문자로 구성된 데이터로 매체 중에서 가장

데이터의 용량이 작음. (CD 한 장에 수만 권의 책

과 수십 년간의 신문을 저장할 수 있음) - 사운드(Sound): 음악과 음성으로 구분할 수 있으며 음파의 형태

로 표현. - 이미지(Image): 사진이나 그림으로 표현되는 매체를 말하며 신문,

책, 잡지 등을 포함한 디지털 환경에 텍스트와 함

께 삽입되는 방식으로 이용(Bitmap, Vector 방식). - 애니메이션(Animation): 연속된 그림을 사용하는 데이트를 말하

며, 초당 15장의 그림(프레임)을 보여주어 움직이

는 영상을 구현. - 비디오(Video or Movie): 카메라로 촬영한 연속적인 이미지로 영

화는 초당 24프레임, TV는 초당 25~30프레임.

※ 멀티미디어의 조건(특징) ① 상호작용(Interactive, 쌍방향성) ② 디지털로 구현되어야 함. ③ 다양한 매체가 통합되어야 함(www는 가장 완벽한 멀티미디어).

Question) TV의 경우에는 멀티미디어라고 표현하지 않는다. 이유가 무엇일까?

Page 3: 목원대학교 컴퓨터공학부 - unit.mokwon.ac.krunit.mokwon.ac.kr/board/loadFile.ht?fileNm=2017... · Matlab을 이용한 실용디지털 영상처리 (홍릉과학출판사,

- 3 -

※ 멀티미디어의 활용 및 현대사회 속의 멀티미디어

․ 대표적인 멀티미디어: www 서비스(모든 종류의 매체로 구현)

․ KT에서 제공되는 IPTV 서비스

․ VoIP(Voice over IP): 인터넷 프로토콜을 사용해 음성 정보 전달.

※ 멀티미디어의 역할과 중요성

․ 앨빈 토플러(Alvin Toffler)의 말을 빌려 구분

- 첫 번째 혁명은 원시사회에서 농경사회로의 혁명

- 두 번째 혁명은 산업혁명이 시작

- 세 번째 혁명은 디지털혁명으로, 이는 정보화 사

회를 가져다 줌. - <제3의 물결(The Third Wave)>에서 정보화 사회

를 고도 정보화 사회와 구분해서 말하고 있음.

․ 다니엘 벨(Daniel Bell)은 정보화 사회를 ‘탈공업화 사회’.

․ 정보화 사회는 1980년대 개인용 컴퓨터의 등장, 네트워크화와 함

께 가정과 사회 전체가 정보화되면서 생활과 사회의 정보화가 됨

․ 디지털 미디어는 1980년대의 개인용 컴퓨터의 등장과 1990년대

네트워크의 보급, 2000년대 광대역 인터넷 서비스와 WWW의 보

급을 통해서 확산되기 시작.

※ 미래의 멀티미디어 기술

․ MIT 미디어 랩을 이끌고 있는 니콜라스 네그로폰테(Nicholas Negroponte) 이사장은 향후 10년을 제3의 디지털 혁명의 시기로

규정. ․ 모든 사물에 비트가 적용되고 비트에서 아톰을 만나는 통합의 시

대가 도래할 것이며 이것을 가리켜 유비쿼터스(Ubiquitous) 시대. ․ HCI(Human Computer Interaction)을 통해 기계와 사람이 보다 쉽게

상호작용하면서 멀티미디어를 체험할 수 있음. ․ 일명 보이지 않는 컴퓨터(Invisible Computer)는 컴퓨터가 눈에 보

이지 않아도 컴퓨터가 주는 편리함을 체험할 수 있음.

Page 4: 목원대학교 컴퓨터공학부 - unit.mokwon.ac.krunit.mokwon.ac.kr/board/loadFile.ht?fileNm=2017... · Matlab을 이용한 실용디지털 영상처리 (홍릉과학출판사,

- 4 -

․ 가상현실로 구현된 가상의 기구

․ <마이너리티 리포트>에서 선보인 다채널 신호 입출력 시스템

※ 디지털 컨버전스 시대

․ 컨버전스 디바이스가 널리 보급되고 활성화되기 위해서는 와이파

이(WiFi), 블루투스(Bluetooth), 와이브로(WiBro)와 같은 무선 기반

의 데이터 통신 기술이 뒷받침되어야 함. ․ 사용자들이 참여해서 만든 콘텐츠를 가리켜 UCC(User-Created

Contents)라고 부름. ․ 특히 컨버전스 세상은 단지 디바이스 간의 통합 외에도 유무선

통합, 방송과 통신의 통합, 디지털과 아날로그의 통합 등 다양한

이기종 간의 통합을 예고하고 있어 비즈니스 모델의 지각 변동을

예상케 하고 있음.

※ 벡터(Vector)와 비트맵(Bitmap) 방식의 차이점

․ 벡터(Vector) 방식

- 점과 점 위치를 기억한 뒤 그 사이를 컴퓨터가 알아서 계산해

형태를 구성하는 방식. - 형태가 정해지면 이미지를 확대해도 깨지지 않고, 크기가 늘리고

줄여도 용량에는 변화가 없음.

․ 비트맵(Bitmap) 방식

- 픽셀(Pixel)이라는 작은 사각형으로 이루어져 있는 방식으로 각

픽셀에 색 정보가 저장됨. - 픽셀의 수가 많을수록 색이 풍부하고 그림의 해상도가 높음.

확대 벡터 방식 확대 비트맵 방식

100% 100%

200%200%

300%

400%

600%

800%

Page 5: 목원대학교 컴퓨터공학부 - unit.mokwon.ac.krunit.mokwon.ac.kr/board/loadFile.ht?fileNm=2017... · Matlab을 이용한 실용디지털 영상처리 (홍릉과학출판사,

- 5 -

MEMO ● 동영상 서비스

- 유튜브(Youtube, http://youtube.com) - 소프박스(Soapbox, http://soapbox.msn.com) - 모션박스(MotionBox, http://www.motionbox.com) - 판도라 TV(Pandora TV, http://www.pandora.tv)

- 아프리카(Afreeca, http://afreeca.pdbox.co.kr)

1 디지털 영상처리의 개요

※ 영상 처리(Image Processing)의 정의

․ 영상을 대상으로 하는 신호(Signal) 처리의 한 분야

․ 영상의 화질 향상, 소실된 정보의 복원, 데이터의 압축, 인식 등.

․ 20세기 중반까지 아날로그(Analog) 방식. ․ 1960년대 미국에서 위성으로부터 전송 받은 달 표면 사진의 화질

을 복원시키는 방법에 대한 연구가 디지털 영상처리의 시초.

※ 영상 처리의 분야

․ 영상의 기하학적 변형(Geometric Transform) ․ 영상의 화질 개선(Enhancement) ․ 영상의 복원(Restoration) ․ 영상 데이터 압축(Compression) ․ 객체 인식(Object Recognition) 등

․ 얼굴 검색 및 인식

- 영상 내에 존재하는 얼굴의 위치를 찾고, 그 얼굴에 해당하는 사

람을 인식하는 기술.

Page 6: 목원대학교 컴퓨터공학부 - unit.mokwon.ac.krunit.mokwon.ac.kr/board/loadFile.ht?fileNm=2017... · Matlab을 이용한 실용디지털 영상처리 (홍릉과학출판사,

- 6 -

․ 내용 기반 영상 검색

- 영상 내에 존재하는 사람, 사물, 색상 정보 등을 인식하여 원하

는 영상을 자동으로 찾아주는 기술.

․ 컬러 영상의 화질 개선

- 전체적으로 어둡거나 밝은 영상을 눈에 보기 좋게 변환.

․ 의료영상 분야

- 정교한 분석이 요구됨.

․ 문서 처리

- OCR(Optical Character Recognition), 필기체 인식 등.

․ 공장 자동화

- 공장에서 생단되는 제품의 결함을 검출, 실시간 처리 필수.

․ 보안 및 감시 시스템

- 침입자 감시, 군사적 용도.

Page 7: 목원대학교 컴퓨터공학부 - unit.mokwon.ac.krunit.mokwon.ac.kr/board/loadFile.ht?fileNm=2017... · Matlab을 이용한 실용디지털 영상처리 (홍릉과학출판사,

- 7 -

․ 자동 동영상 요약

- 스포츠 동영상의 하이라이트 생성. - 뉴스, 교육용 비디오의 자동 편집 및 분류.

․ 증강 현실

- 현실 세계의 영상에 컴퓨터가 생성한 그래픽스를 첨가하여 보여

주는 가상현실(Virtual Reality) 기술의 하나. - 객체 인식(Object Recognition)과 추적(Tracking) 기법 등이 필요.

2 디지털 영상처리의 기초: 컬러 공간

※ 컬러 공간(Color Space)의 종류

▶ 빛의 파장(스펙트럼)

Page 8: 목원대학교 컴퓨터공학부 - unit.mokwon.ac.krunit.mokwon.ac.kr/board/loadFile.ht?fileNm=2017... · Matlab을 이용한 실용디지털 영상처리 (홍릉과학출판사,

- 8 -

▶ 칼라 공간의 종류

․ RGB, CMY(K), HSI, Grayscale, Binary 등

※ 그레이스케일(Gray-sacle) 영상

․ 색상 정보가 없이 오직 발기 정보만으로 구성된 영상

․ 픽셀(Pixel): 영상의 기본단위(picture element)

․ 각 픽셀의 정보는 1Byte( ). ․ 그레이스케일 영상에서 하나의 픽셀은 0부터 255사이의 정수 값

을 가짐.

- 0 : 가장 어두운 밝기(검정색) - 255 : 가장 밝은 밝기(흰색)

※ RGB 칼라 공간

․ RGB 칼라 공간은 아래 그림과 같이 정육면체로 이루어져 있는데, Red, Green, Blue의 3원색의 조합에 의해 나타냄.

․ 빛의 삼원색을 사용하므로 다 더하면 흰색을 나타냄. ․ 대표적인 예: TV, 모니터

- R()G()B() → 16만 칼러

- Red(1, 0, 0) → Red(255, 0, 0) - Green(0, 1, 0) → Red(0, 255, 0) - Blue(0, 0, 1) → Red(0, 0, 255) - White(1, 1, 1) → White(255, 255, 255) - Black(0, 0, 0) → Black(0, 0, 0)

․ RGB 컬러 영상을 Grayscale 영상으로 만드는 방법

- NTSC제안: Gray Level =

- 각 Red, Green, Blue 중에 한가지만 사용

- Gray Level =

Page 9: 목원대학교 컴퓨터공학부 - unit.mokwon.ac.krunit.mokwon.ac.kr/board/loadFile.ht?fileNm=2017... · Matlab을 이용한 실용디지털 영상처리 (홍릉과학출판사,

- 9 -

※ CMY(K) 칼라 공간

․ 인쇄물과 같은 장치에서는 빛의 파장은 흡수하고, 컬러만 반사하는

잉크의 특성을 사용하여 컬러를 표현. ․ CMY(k): Cyan, Megenta, Yellow, blac(K) ․ 대표적인 예: 인쇄물

․ Cyan과 Red의 관계(Cyan은 Red를 흡수함)

-

․ Magenta와 Green의 관계(Magenta는 Green을 흡수함)

-

․ Yellow과 Blue의 관계(Yellow는 Blue를 흡수함)

-

※ HSI 칼라 공간

․ 인간은 시각적으로 빛의 파장에

의해 색을 인식하는 과정을 거친

다. 우리가 색을 느끼는 요인은?

․ Hue(색상) - 원통 모형의 주변으로서, 순수한 색을 표현함.

- 범위: ∼(이면 Red)

․ Saturation(채도) - 원통 모형의 중심으로부터 거리가 채도 범위(0~1)

․ Intensity(명도, Value, Lightness) - 원통 모형의 꼭지점부터 최상부까지의 거리, 밝기 범위(0~1) - 1이면 검정, 0이면 흰색

Page 10: 목원대학교 컴퓨터공학부 - unit.mokwon.ac.krunit.mokwon.ac.kr/board/loadFile.ht?fileNm=2017... · Matlab을 이용한 실용디지털 영상처리 (홍릉과학출판사,

- 10 -

․ 다양한 HSI(V)와 관련된 실제 사용 공간들

S/W, 환경 공간 H S L/V/B 범위

Paint Shop Pro HSL ∼ ∼ L ∼

GIMP HSV ∼ ∼ V ∼

Adobe Photoshop HSB ∼ ∼ B ∼

Windows HSL ∼ ∼ L ∼

Linux/KDE HSV ∼ ∼ V ∼

GTK HSV ∼ ∼ V ∼

Java HSB ∼ ∼ B ∼

Apple HSV ∼ ∼ L ∼

※ YIQ 칼라 공간

․ 상업 방송에 사용하는 칼라 공간

․ Y(Luminance, 광도): 흑백

․ I(In-pase modulation), Q(Quadradure-modulation in NTSC system)

-

-

-

※ 칼라 공간 변환 관련 함수(Matlab IPT 함수) ․ IPT(Image Processing ToolBox)

IPT 함수

RGB 칼라 공간 → 명암도 공간 rgb2gray( )RGB 칼라 공간 → HSI 컬러 공간 rgb2hsv( )HSI 컬러 공간 → RGB 칼라 공간 hsv2rgb( )RGB 칼라 공간 → Binary 칼라 공간 im2bw( )RGB 칼라 공간 → YIQ 칼라 공간 rgb2ntsc( )YIQ 칼라 공간 → RGB 칼라 공간 ntsc2rgb( )RGB 칼라 공간 → YCbCr 칼라 공간 rgb2ycbcr( )YCbCr 칼라 공간 → RGB 칼라 공간 ycbcr2rgb( )

※ Matlab을 이용한 컬러 공간 변화들의 예

․ 간단한 칼라 공간들 간의 변환 소스(결과, 오른쪽 그림)

Page 11: 목원대학교 컴퓨터공학부 - unit.mokwon.ac.krunit.mokwon.ac.kr/board/loadFile.ht?fileNm=2017... · Matlab을 이용한 실용디지털 영상처리 (홍릉과학출판사,

- 11 -

․ IPT 함수를 이용한 칼라 공간 간의 변환 예(RGB → 다른 공간)

3 디지털 영상처리의 기초: 화소값 기반 처리

※ 화소값 기반 처리

․ 픽셀의 원래 값이나 위치에 기반한 픽셀 값 변경. ․ 픽셀의 독립적인 처리. ․ 다른 픽셀의 영향을 받지 않음.

※ 영상의 밝기 조절

․ 명암도 영상: 256 레벨 ( , 0~255)

- 특정 영상을 밝게 만들려면 어떤 특정값을 더함. - 어둡게 만드려면 어떤 특정값을 빼줌.

▶ 클램핑(Clampping) ․ 영상을 밝게 하려면 흰색 쪽인 255로, 어둡게 하려면 검정색 쪽인

0에 가깝게 얼마의 값을 더하거나 빼서 화소의 밝기값을 설정. ․ 이와 같이 산술연산 처리(Arithmetic Operations)를 한 후 화소값이 0

이하거나 255 이상인 경우는 0 또는 255 로 변경.

Page 12: 목원대학교 컴퓨터공학부 - unit.mokwon.ac.krunit.mokwon.ac.kr/board/loadFile.ht?fileNm=2017... · Matlab을 이용한 실용디지털 영상처리 (홍릉과학출판사,

- 12 -

※ 영상의 밝기 조절: 산술연산

․ 각 화소값에 +50을 더하기

․ 다양한 산술연산의 예

※ 히스토그램(Histogram) ․ 화소가 가진 명암 값에 대한 막대 그래프

․ 0부터 255까지의 명암값을 인덱스로 하고, 영상을 구성하고 있는

각 화소의 명암값에 해당하는 개수를 빈도수로 간주하여 1씩 증가

시키는 알고리즘.

Page 13: 목원대학교 컴퓨터공학부 - unit.mokwon.ac.krunit.mokwon.ac.kr/board/loadFile.ht?fileNm=2017... · Matlab을 이용한 실용디지털 영상처리 (홍릉과학출판사,

- 13 -

※ 히스토그램 처리 예시 및 용도

․ 히스토그램 예시

․ 밝기 분포가 다른 영상의 예

․ 히스토그램 분석법을 이용한 우주공간 사진(화질개선 영상 예)

※ 히스토그램 평활화(Histogram Equalization) ․ “어두운 영상을 어떻게 하면 밝게, 뚜렷하게 할수 있을까?” ․ 히스토그램을 자동적으로 결정해주는 방법으로 한쪽에 치우친 명

암 분포를 가진 히스토그램을 재분배 과정을 거쳐 일정한 분포를

가지는 히스토그램을 만드는 알고리즘.

▶ 히스토그램 평활과 과정(①→②→③→④) ① 히스토그램을 생성한다.

- 영상에서 명암값 의 빈도수 를 계산한다.

② 각 명암값 에 대하여 다음 식과 같이 0부터 까지의 빈도수의

누적값을 구한다.

-

③ 2단계에서 구한 누적값을 다음 식과 같이 정규화한다.

- ××

- 여기서 은 영상의 전체 픽셀 수

④ 입력 영상에서 픽셀값 를 정규화된 값 로 변환하여 결과 영

상을 생성한다.

Page 14: 목원대학교 컴퓨터공학부 - unit.mokwon.ac.krunit.mokwon.ac.kr/board/loadFile.ht?fileNm=2017... · Matlab을 이용한 실용디지털 영상처리 (홍릉과학출판사,

- 14 -

※ 주어진 화소값을 히스토그램 평활화를 하시오.

① 히스토그램 생성 : 명암값 의 빈도수 를 계산

② 각 명암값 에 대하여 0부터 까지 빈도수의 누적값 계산

-

③ 단계 2에서 구한 누적값을 정규화

- × ×, (N은 영상의 전체 픽셀수)

④ 입력영상에서 픽셀값 를 정규화된값 로 변환, - 결과 영상 생성

10 20 30 40 5020 30 40 50 6030 40 50 60 7040 50 60 70 8050 60 70 80 90 →

※ 히스토그램 평활화 예시

․ 원영상과 히스토그램 평활화 된 영상간의 히스토그램 비교

․ 특정 영상이 어두운 곳에서 세밀한 부분을 가질 때에 효과적

Page 15: 목원대학교 컴퓨터공학부 - unit.mokwon.ac.krunit.mokwon.ac.kr/board/loadFile.ht?fileNm=2017... · Matlab을 이용한 실용디지털 영상처리 (홍릉과학출판사,

- 15 -

※ 명암 대비

․ 낮은 명암 대비: 히스토그램이 일부분에 집중

․ 높은 명암 대비: 히스토그램이 2개의 큰 마루를 가짐

․ 좋은 명암 대비: 균일한 화소값 분포를 가짐

특정한 마루나 골이 부각되지 않음.

․ 명암 대비를 높이려면, 곱셈 연산을 수행. - 밝은 부분을 더 밝게, 어두운 부분을 조금 밝게 표현

․ 명암 대비를 낮추려면, 나눗셈 연산을 수행. - 밝은 부분은 아주 어둡게, 어두운 부분은 조금 어둡게 표현

▶ 영상의 곱셈/나눗셈 연산의 예

▶ 영상의 덧셈 연산

▶ 영상의 평균 연산

▶ 영상의 차이 연산

Page 16: 목원대학교 컴퓨터공학부 - unit.mokwon.ac.krunit.mokwon.ac.kr/board/loadFile.ht?fileNm=2017... · Matlab을 이용한 실용디지털 영상처리 (홍릉과학출판사,

- 16 -

▶ 영상의 반전 연산

▶ 영상간의 논리 연산

※ 산술 연산 및 히스토그램 관련 함수(Matlab IPT 함수)

IPT 함수 IPT 함수

덧셈연산 imadd( ) 히스토그램 imhist( )뺄셈 연산 imsubtract( ) 평활화 histeq( )곱셈 연산 immultiply( ) 감마 조절 imadjust( )

나눗셈 연산 imdivide( )보수 연산 imcomplement( )

Page 17: 목원대학교 컴퓨터공학부 - unit.mokwon.ac.krunit.mokwon.ac.kr/board/loadFile.ht?fileNm=2017... · Matlab을 이용한 실용디지털 영상처리 (홍릉과학출판사,

- 17 -

MEMO

Page 18: 목원대학교 컴퓨터공학부 - unit.mokwon.ac.krunit.mokwon.ac.kr/board/loadFile.ht?fileNm=2017... · Matlab을 이용한 실용디지털 영상처리 (홍릉과학출판사,

- 18 -

4 디지털 영상처리의 기초: 마스크(영역) 기반 처리

※ 영역 기반 처리

․ 입력 화소와 그 주위 화

소를 이용하여 출력 화소

값을 결정

․ 회선(Convolution) 기법을

널리 이용

․ 영역 기반 처리 예: 양각, 블러링/샤프닝, 경계선 검

출, 잡음제거 등

※ 마스크 기반 처리(공간적 필터링) ․ 영상의 픽셀값을 그대로 이용하여 영상에서 원하는 정보만을 걸러

내는 영상 처리 기법

․ 마스크(Mask): 윈도우(Window), 템플릿(Template), 커널(Kernel) ․ 3 by 3 크기의 마스크를 이용한 필터링 방법

․ 최외각 픽셀 처리 방법(2가지) - 최외각 픽셀은 마스크 연산에서 제외

- 최외각 바깥에 가상의 픽셀이 있다고 가정

Page 19: 목원대학교 컴퓨터공학부 - unit.mokwon.ac.krunit.mokwon.ac.kr/board/loadFile.ht?fileNm=2017... · Matlab을 이용한 실용디지털 영상처리 (홍릉과학출판사,

- 19 -

▶ 회선처리의 원리

※ 마스크 기반 처리: 양각 효과

․ 양각 효과는 엠보싱(Embossing) 효과라고 하며, 양각 효과를 가질

수 있는 마스크는 , , 마스크로서 다음과 같음.

-1 0 00 0 00 0 1

0 -1 00 0 00 1 0

0 0 -10 0 01 0 0

․ 양각 효과 마스크의 특징

- 중앙값은 0, 마스크 내의 합은 0

․ 입력 영상에 양각 처리를 한 영상 예

Page 20: 목원대학교 컴퓨터공학부 - unit.mokwon.ac.krunit.mokwon.ac.kr/board/loadFile.ht?fileNm=2017... · Matlab을 이용한 실용디지털 영상처리 (홍릉과학출판사,

- 20 -

▶ 공간 영역에서의 저주파와 고주파 개념

․ 저주파 성분: 주변영역과 색의 차이가 적은 부분

․ 고주파 성분: 주변영역과 색의 차이가 큰 부분(에지 부분)

․ 저주파 통과 필터(LPF, Low-Pass Filter) : 블러링(Blurring) - 낮은 주파수 영역을 통과 시키고, 높은 주파수 영역을 차단

․ 고주파 통과 필터(HPF, High-Pass Filter) : 샤프닝(Sharpening) - 높은 주파수 영역을 통과 시키고, 낮은 주파수 영역을 차단

※ 마스크 기반 처리: 블러링

․ 저주파 통과 필터링을 거친 영상은 윤곽선 부분을 이루는 고주파

성분이 제거되어, 전체 영상이 부드러워짐.

․ 블러링의 예

- TV에서 주인공만 뚜렷하고, 배경은 흐리게 한 경우, - 사진의 경우 초점을 흐리게 하거나, 배경을 약화시킬 때 사용.

․ 블러링 마스크

- 마스크 내의 계수 합은 1

․ 좌측부터 입력영상, 3 by 3, 5 by 5 블러링 마스크를 적용한 결과

Page 21: 목원대학교 컴퓨터공학부 - unit.mokwon.ac.krunit.mokwon.ac.kr/board/loadFile.ht?fileNm=2017... · Matlab을 이용한 실용디지털 영상처리 (홍릉과학출판사,

- 21 -

※ 마스크 기반 처리: 샤프닝

․ 샤프닝은 경계선을 더욱 두드러지게 만들어 날카로운 느낌을 얻게

되는 처리

․ 샤프닝 마스크

- 중심 계수 주변 화소는 음의 값을 갖고 있어 회선 시 주변에 있

는 화소값을 약화시킴.

․ 샤프닝에 의해 회선되어 강조된 경계선은 고주파 성분이 몰려 있

으므로, 바로 저주파 성분을 걸러내고 고주파만 살아남게 되어 고

주파 통과 필터링의 한 종류.

▶ 블러링과 샤프닝 특징 비교

특징 비고

블러링

- 원영상을 부드럽게 처리- 가우시안 잡음 제거- 평균 처리 특징- 회선 계수들의 합은 1- 영상의 대비약화, 임펄스 잡음을 제거할 수 없다.

저주파 통과 필터

샤프닝

- 원영상의 세세한 부분강조(고주파)- 영상 대비 효과를 가짐- 보통 회선 계수의 합은 양의 값- 언샤프닝: 원영상 – 저주파 통과 필터링한 영상

- 고주파지원필터: 원영상의 밝기 증대 – 저주파 통과 필터링한 영상

- 영상내의 잡음이 늘어나게 된다.

고주파 통과 필터

Page 22: 목원대학교 컴퓨터공학부 - unit.mokwon.ac.krunit.mokwon.ac.kr/board/loadFile.ht?fileNm=2017... · Matlab을 이용한 실용디지털 영상처리 (홍릉과학출판사,

- 22 -

MEMO

5 디지털 영상처리의 기초: 에지 추출

※ 에지의 정의

․ 에지(edge)는 경계선과 동일한 말로 윤곽선이라고도 함. ․ 아래 그림에서 확인할 수 있듯이 에지는 영상의 밝기가 낮은 곳

에서 높은 값으로, 이와 반대로 변하는 지점에 존재하는 부분을

의미함.

※ 에지의 패턴들

․ 라인 에지: 밝기값이 갑자기 변하나 특정구간을 지나 다시 원래의

값으로 돌아오는 부분

․ 루프 에지: 잡음 제거 후의 라인 에지 부분

Page 23: 목원대학교 컴퓨터공학부 - unit.mokwon.ac.krunit.mokwon.ac.kr/board/loadFile.ht?fileNm=2017... · Matlab을 이용한 실용디지털 영상처리 (홍릉과학출판사,

- 23 -

․ 스텝 에지: 밝기값이 갑자기 변하는 부분

․ 램프 에지: 잡음제거 후의 램프 에지 부분

※ 밝기 변화에 따른 에지의 기울기 정도

※ 1차 미분

․ 1차 미분은 수평과 수직 에지를 찾아 이를 합친 밝기 현화량 즉

기울기를 구하는 방법이 보편적이며, 마스크에 의해 처리된다. 방향성 없는 에지를 얻기 위한 마스크 결정에는 여러 가지 기본 조

건이 있다.

① 마스크의 크기의 가로, 세로가 같고, 홀수이어야 한다. ② 중심 계수를 기준으로 상하좌우가 대칭이다. ③ 중심 계수의 값은 항상 0(zero)을 포함한 양수이다. ④ 중심 계수의 이외의 값은 음수이다. ⑤ 모든 계수의 합은 0이다.

․ 1차 미분에서 위의 5가지 조건에 의해 마스크로 구현한 것은

Sobel, Prewitt, Roberts, Frei-chen, Stochastic 등이 있으며, 방향성이

있는 경우 compass 등을 예로 들 수 있다.

※ Sobel, Prewitt, Roberts 마스크

마스크 특 징

Sobel

-1 0 1-2 0 2-1 0 1 수직

1 2 10 0 0-1 -2 -1 수평

- 모든 방향의 에지를 추출.- 돌출한 화소값을 비교적 평균

화하므로 잡음에 강함.- 수직, 수평 에지보다 대각선 방

향 에지에 더 민감하게 반응함.

Prewitt

-1 0 1-1 0 1-1 0 1 수직

1 1 10 0 0-1 -1 -1 수평

- 프리윗 마스크로 회선한 결과

는 소벨 마스크를 회선한 결과

와 비슷함.- 응답시간이 다소 빠름.- 에지 추출 시 소벨 마스크에

비해 에지가 덜 부각됨.- 대각선 방향 에지보다 수직, 수평 방향 에지에 더 민감하게 반

응함.

Roberts

0 0 -10 1 00 0 0 대각선1

-1 0 00 1 00 0 0 대각선2

- 매우 빠른 계산 속도.- 주변과 관계없이 경계가 확실

한 에지 추출.- 다른 마스크보다 크기가 작아

돌출한 화소값을 평균화할 수

없는 관계로 잡음에 매우 민감.

Page 24: 목원대학교 컴퓨터공학부 - unit.mokwon.ac.krunit.mokwon.ac.kr/board/loadFile.ht?fileNm=2017... · Matlab을 이용한 실용디지털 영상처리 (홍릉과학출판사,

- 24 -

※ 1차미분, 수평, 수직 에 대한 에지추출 결과

※ 에지추출 결과(좌부터 Sobel, Prewitt, Roberts)

6 디지털 영상처리의 기초: 모자이크

※ 모자이크(mosaic) ․ 영상의 특정 영역을 블록 형태로 만드는 것(모자이크 효과)

7 디지털 영상처리의 기초: 모폴로지

※ 모폴로지의 정의

․ 모폴로지(Morphology)는 영상 내의 형태들을 분석하고 처리하는

형태학과 관련됨. ․ 사용 예: OCR 전처리, 지문영상에서 잡음제거와 융선을 뚜렷하게

하기, 컬러 지도 내에 있는 객체(도로, 문자, 범례 등) 추출, 에지 정보를 이용한 잡음 제거 등

․ 모폴로지 알고리즘: 침식 연산, 팽창연산, 열림 연산, 닫힘 연산

① 침식 연산: 배경을 강조함

② 팽창 연산: 객체를 강조함

③ 열림 연산: 침식 연산 후 팽창 연산. 침식 연산의 효과로 인해 객

체보다 배경을 더 강조함.④ 닫힘 연산: 팽창 연산 후 침식 연산. 팽창 연산의 효과로 인해 배

경보다 객체를 더 강조함.

Page 25: 목원대학교 컴퓨터공학부 - unit.mokwon.ac.krunit.mokwon.ac.kr/board/loadFile.ht?fileNm=2017... · Matlab을 이용한 실용디지털 영상처리 (홍릉과학출판사,

- 25 -

※ 침식 연산

․ 침식연산(Erosion Operator)은 배경을 확장시키고 객체의 크기를 축

소함. ․ 주로 객체 안이나 객체와 배경의 사이에 있는 소금&후추

(salt&pepper) 또는 임펄스(impulse) 잡음을 제거하기 위해 사용함.

․ 이진 영상에서의 침식 연산

․ 명암도 영상에서의 침식 연산

- N1~N9의 범위를 255에 가까이 하면, 더 나은 침식효과를 얻음. - 마스크 내의 값을 0으로 할 경우, 최소값 필터링과 유사한 결과.

※ 팽창 연산

․ 팽창 연산(Dilation operator)은 침식 연산과 반대의 역할. ․ 배경을 축소시키고, 객체의 크기를 확장(객체 안의 빈 공간을 메

우는 역할을 함).

․ 이진 영상에서의 침식 연산

․ 명암도 영상에서의 침식 연산

Page 26: 목원대학교 컴퓨터공학부 - unit.mokwon.ac.krunit.mokwon.ac.kr/board/loadFile.ht?fileNm=2017... · Matlab을 이용한 실용디지털 영상처리 (홍릉과학출판사,

- 26 -

※ 이진 영상의 모폴로지 연산 예

․ 침식 연산 결과

- 차례대로 원본 영상, 침식 1번, 침식 2번, 침식 3번 - 객체 영역(흰색)이 점점 줄어듦. - 한 두 픽셀짜리 잡음이 제거됨.

․ 팽창 연산 결과

- 차례대로 원본 영상, 침식 1번, 침식 2번, 침식 3번 - 객체 영역(흰색)이 점점 불어남. - 객체 내부의 홀(구멍)이 메워짐.

※ 열림 연산

․ 열림 연산(Opening operator)은 침식 연산과 팽창 연산 순으로 조

합하여 수행됨. ․ 즉, 객체를 축소한 다음 다시 객체를 확장시킴. (잡음 제거됨)

※ 닫힘 연산

․ 닫힘 연산(Closing operator)은 팽창 연산과 침식 연산 순으로 조합

하여 수행됨. ․ 팽창 연산으로 객체를 확장하기 때문에 객체 내 빈 공간이 메워

진 후, 침식 연산으로 원 영상의 크기로 돌아감.

Page 27: 목원대학교 컴퓨터공학부 - unit.mokwon.ac.krunit.mokwon.ac.kr/board/loadFile.ht?fileNm=2017... · Matlab을 이용한 실용디지털 영상처리 (홍릉과학출판사,

- 27 -

※ 열림 연산을 이용한 잡음 제거

․ 좌부터 원영상, 침식 연산, 팽창 연산

※ 모폴로지 기법을 으용한 객체의 외곽선 검출

․ 원본 영상에서 침식 연산을 수행한 결과 영상을 빼기 연산을 수

행한 결과

․ 좌부터 원영상, 침식 연산, 원영상 - 침식연산영상

※ 명암도 영상의 침식과 팽창 결과

․ 좌부터 원본 영상, 침식, 팽창 결과

+

※ 모폴로지 관련 함수(Matlab IPT 함수)

연산의 종류 IPT 함수

침식 연산 imerode( )팽창 연산 imdilate( )열림 연산 imopen( )닫힘 연산 imclose( )

MEMO

Page 28: 목원대학교 컴퓨터공학부 - unit.mokwon.ac.krunit.mokwon.ac.kr/board/loadFile.ht?fileNm=2017... · Matlab을 이용한 실용디지털 영상처리 (홍릉과학출판사,

- 28 -

8 디지털 영상처리의 기초: 영상의 기하학적 변환

※ 영상의 기하학적 처리의 예

․ 확대/축소(scaling), 회전(rotation), 이동(translation), 감축(reduction) 등

※ 사상 개념

․ 사상은 Transformation, Matching, Imaging, Mapping 등으로 표현. ․ 원영상의 좌표를 목적영상의 좌표로 이동시키고, 원영상의 화소값

을 옮기는 과정. ․ 전방향 사상(froward mapping): 화소값 기반 및 마스크 기반 처리

․ 전방향 사상의 문제점

- 오버랩(Overlap) 문제: 전방향 사상 시 목적 영상의 특정 화소에

여러 번 원영상의 화소값을 삽입하는 현상. - 홀(Hole) 문제: 전방향 사상 시 어떤 관계로 사상하였으나, 목적영

상에서 할당 받지 못한 비어있는 화소를 가리킴.

․ 역방향 사상(reverse mapping) - 전방향 사상의 오버랩, 홀에 대한 문제점을 해결하기 위한 방법.

․ 역방향 사상의 문제점

※ 영상의 이동변환(Translation transform) ․ 영상을 특정 크기만큼 가로 또는 세로 방향으로 이동시키는 변환

․ 좌부터 원영상, (32, 32), (-32, -32) 이동 결과

Page 29: 목원대학교 컴퓨터공학부 - unit.mokwon.ac.krunit.mokwon.ac.kr/board/loadFile.ht?fileNm=2017... · Matlab을 이용한 실용디지털 영상처리 (홍릉과학출판사,

- 29 -

※ 크기 변환(Scale transform) ․ 영상의 크기를 원본 영상보다 크게 또는 작게 만드는 변환

※ 보간법(Interpolation) ․ 전방향 사상, 역방향 사상의 문제점을 해결하고, 영상의 확대

축소 시 블록화 현상을 막기 위해 보간법을 이용함. ․ 종류: 최근접 이웃 보간법(Nearest neighbor interpolation) 양선형 보간법(Bilinear interpolation) 3차 회선 보간법(Cubic convolution interpolation)

※ 최근접 이웃 보간법

․ 가장 가까운 위치에 있는 픽셀의 값을 참조하는 방법

․ 예: (50.2, 32.8) → (50, 33) ․ 장점: 빠르고 구현하기 쉬움 ․ 단점: 계단 현상

Page 30: 목원대학교 컴퓨터공학부 - unit.mokwon.ac.krunit.mokwon.ac.kr/board/loadFile.ht?fileNm=2017... · Matlab을 이용한 실용디지털 영상처리 (홍릉과학출판사,

- 30 -

․ 최근접 이웃 보간법을 이용한 영상의 확대/축소 ※ 양선형 보간법

․ 실수 좌표를 둘러싸고 있는 네 개의 픽셀 값에 가중치를 곱한 값

들의 선형 합으로 결과 영상의 픽셀 값을 구하는 방법

․ 최근접 이웃 보간법에 비해 느린 편이지만, 계단 현상이 많이 감소

※ 영상의 축소 시 고려할 사항

․ 한 픽셀로 구성된 선분들은 영상을 축소할 때 사라지는 경우

가 발생

․ 입력 영상을 부드럽게 필터링한 후 축소

․ 최근접 이웃 보간법을 이용한 영상의 확대/축소

Page 31: 목원대학교 컴퓨터공학부 - unit.mokwon.ac.krunit.mokwon.ac.kr/board/loadFile.ht?fileNm=2017... · Matlab을 이용한 실용디지털 영상처리 (홍릉과학출판사,

- 31 -

※ 영상의 회전 변환(Rotation transform) ․ 영상을 특정 각도만큼 회전시키는 변환

․ 영상을 원점 (0,0)을 기준으로 만큼 회전하는 경우

․ 좌부터 원영상, , 회전한 결과

Page 32: 목원대학교 컴퓨터공학부 - unit.mokwon.ac.krunit.mokwon.ac.kr/board/loadFile.ht?fileNm=2017... · Matlab을 이용한 실용디지털 영상처리 (홍릉과학출판사,

- 32 -

※ 영상의 회전 변환(Rotation transform): 특수 각도( , , ) ․ sin( ), cos( ) 함수를 사용하지 않음

․ 좌부터 원영상, , , 회전한 결과

Page 33: 목원대학교 컴퓨터공학부 - unit.mokwon.ac.krunit.mokwon.ac.kr/board/loadFile.ht?fileNm=2017... · Matlab을 이용한 실용디지털 영상처리 (홍릉과학출판사,

- 33 -

※ 영상의 좌우대칭

※ 영상의 상하대칭

9 디지털 영상처리의 기초: 주파수 변환

※ DFT(Discrete Fourier Transform) ․ 특징: ․ ․

※ DCT(Discrete Cosine Transform) ․ 특징: ․ ․

※ DWT(Discrete Wavelet Transform) ․ 특징: ․ ․

․ 상기 주파수 변환에 대해 조사해보자.