디지털영상처리_영상처리와CxImage(1)

Download Report

Transcript 디지털영상처리_영상처리와CxImage(1)

1장. 디지털 영상처리의
개념(1)
임은경
2주차 - 디지털영상처리의개념
1
영상처리 – 영상처리 개념 및 구현하기
차례 및 목적

차례
 영상처리의


개념
영상처리에 대한 이야기
영상 데이터에 대한 이해
 영상처리의
응용분야
 영상처리의 전망
2주차 - 디지털영상처리의개념
2
영상처리 – 영상처리 개념 및 구현하기
차례 및 목적

차례
 오픈소스
CxImage로 영상다루기
영상처리 프로그래밍 패턴
 CxImage 소개
 CxImage 라이브러리 만들기
 CxImage와 연계를 위한 프로그램 뼈대 만들기
CxImage 라이브러리 연동하기
 영상 읽기
 영상 보기
 영상 저장
 CxImage 기반 영상 처리 프로그램 작성 – 지터 효과(jitter effect)
 CxImage 기반 visualGS 라이브러리 작성과 지터 효과 프로그램 작
성
 수행시간 측정하기

 CxImage
제공 함수 목록
2주차 - 디지털영상처리의개념
3
영상처리 – 영상처리 개념 및 구현하기
영상처리 개념

영상처리에 대한 이야기
 1920년

영상처리의 시초
 1964년

그




대 미국과 유럽 간 신문 사진 전송
미국 캘리포니아 제트추진연구소에서 시작
달의 표면을 찍은 위성 사진의 화질 개선
이후,
1906년대 – 우주 연구와 관련된 영상처리가 주류
1980년대 – CT, MRI 등 의료영상 분야의 발전
1990년대 – 인터넷 시대가 도래하며 검색, 컴퓨터 비전, 그래
픽스 방송 등의 다양한 응용분야로 확장
그림 1.1 , 그림 1.2
 이미지 검색 분야에 대한 현황을 보여줌
2주차 - 디지털영상처리의개념
4
영상처리 – 영상처리 개념 및 구현하기
영상처리 개념

디지털 영상처리란
 사진정보(아날로그
정보)를 ‘디지털정보’로 전환한 후,
‘디지털 컴퓨터’에서 처리한다는 의미
 모든 입출력은 디지털 영상으로…
 영상 카메라를 통해 획득된 영상(또는 이미지)을 컴퓨
터를 통해 확대, 축소, 이동, 회전, 편집 등과 같은 정
보처리를 행하는 일로 정의할 수 있다.
2주차 - 디지털영상처리의개념
5
영상처리 – 영상처리 개념 및 구현하기
영상처리 개념

영상처리 효과들…
 영상을

자세히 보고 싶다  샤프닝
p.7
 대략적인

p.7
 잡음을

모양을 얻고 싶다  영상분할
제거할 수 없을까?  잡음 제거 필터링
p.7
 특수효과를

주고 싶다  세피아톤 효과
p.8
2주차 - 디지털영상처리의개념
6
영상처리 – 영상처리 개념 및 구현하기
영상처리 개념

영상처리의 세부 기술 범위
 Image
Transforms
 Image Enhancement
 Image Restoration
 Image Compression
 Image Segmentation
 Representation and Description
 Recognition and Interpretation
 Image Transmission
2주차 - 디지털영상처리의개념
7
영상처리 – 영상처리 개념 및 구현하기
영상처리 개념

영상처리의 가장 기본적인 처리
 영상을
조작한다
 영상을 분석한다
 영상을 인식한다
 영상을 전송 및 복원한다

영상처리,컴퓨터 비전과 컴퓨터 그래픽
영상처리
영상 (Image)
컴퓨터그래픽
컴퓨터비전
기술 (Description)
2주차 - 디지털영상처리의개념
8
영상처리 – 영상처리 개념 및 구현하기
영상데이터에 대한 이해

영상데이터
 2차원
배열 구조
 화소를 기준으로 높
이 x 너비의 크기를
갖는 2차원 배열 구
조의 데이터로 되어
있음
2주차 - 디지털영상처리의개념
9
영상처리 – 영상처리 개념 및 구현하기
디지털 영상의 내부

전형적인 디지털 영상



가로 및 세로의 크기가 M , N의 픽셀(pixel, 화소)로 이루어짐
저장된 영상데이터는 2차원 배열 형태를 이룸
영상데이터의 값

흑백영상의 경우



픽셀의 값이 0에서 255의 값을 가짐
 ??
 흑백영상(M X N) 한장의 크기?
각 값들은 밝기값을 표현함
칼라영상의 경우

하나의 픽셀이 Red, Green, Blue로
로 나뉘어짐
 칼라영상 한장의 크기?
2주차 - 디지털영상처리의개념
10
영상처리 – 영상처리 개념 및 구현하기
영상데이터에 대한 이해

영상데이터는 크게 화소에 있는 값과 구조에 따
라 분류
 이진
영상
 명암도 영상
 RGB 영상
 인덱스 영상
2주차 - 디지털영상처리의개념
11
영상처리 – 영상처리 개념 및 구현하기
디지털 영상처리

디지털 영상 분석이란



디지털 영상 안에 담긴 내용을 묘사하고 인식하기 위한 작업을 의
미
컴퓨터 비젼이라고도 함
디지털 영상처리의 예
2주차 - 디지털영상처리의개념
12
영상처리 – 영상처리 개념 및 구현하기
참고 사항 - RGB 컬러 입방체
B
파랑
청록(cyan)
흰색
자홍
(magenta)
검정
빨강
초록
G
노랑
R
2주차 - 디지털영상처리의개념
13
영상처리 – 영상처리 개념 및 구현하기
참고 사항 - 컬러의 모형
가산 색 모형
RGB 컬러 모형
감산 색 모형
CMY 컬러 모형
2주차 - 디지털영상처리의개념
14
영상처리 – 영상처리 개념 및 구현하기
디지털 영상처리의 특징

정확성


재현성


알고리즘을 이용하여 컴퓨터가 처리되므로 동일한 결과 유도
제어가능성



디지털 데이터로 전환 후, 컴퓨터가 처리하므로…
필요한 파라미터를 직접 설정하고 조정하는 것이 용이
프로그램을 통해 데이터를 처리하므로… 프로그램을 변경하
여 다양한 처리가 가능
과도한 데이터량




흑백 영상 640 X 480 = 307 Kbyte
초당 20프레임 이상 처리하는데, 1초에 6.4Mbyte
칼라의 경우는 더 늘어남
과도한 데이터량을 가지므로  이 데이터를 처리하는데 많
은 시간이 필요함
2주차 - 디지털영상처리의개념
15
영상처리 – 영상처리 개념 및 구현하기
참고사항 - 디지털 영상처리의 적용분야에 따른 분류

저수준 단계(Low-Level) 영상처리



중간수준 단계(Mid-Level) 영상처리



디지털 영상을 획득하고 출력하기 위한 가장 기본적인 영상처리
를 말한다.
예) 잡음에 대한 처리, 영상 향상 기술
획득된 영상데이터로부터 영상 해석을 위한 상징적 표현
(symbolic representation)을 나타내기 위해 특징벡터(feature
vectors)를 추출하는 단계를 말한다.
영상의 특징을 추출
고수준 단계(High-Level) 영상처리



중간수준 단계에서 획득 된 정보를 이용해서 영상을 해석하는 단
계이다.
이 단계는 인공지능, 패턴 인식과 같은 연구분야와 관계되며, 인
간의 시각 인지 기능을 모방하고자 하는 단계이다.
예) 번호판 영역 추출, 숫자 추출 …
2주차 - 디지털영상처리의개념
16
영상처리 – 영상처리 개념 및 구현하기
참고사항 - 영상 처리 연구 분야에 따른 분류






디지털
디지털
디지털
디지털
디지털
디지털
영상
영상
영상
영상
영상
영상
형성
복원
향상
변환
코딩 및 압축
분석
2주차 - 디지털영상처리의개념
17
영상처리 – 영상처리 개념 및 구현하기
참고사항 - 영상 처리 연구 분야에 따른 분류

디지털 영상 형성(Digital Image Formation)


디지털 영상 형성이란 영상처리를 위한 가장 첫번째 단계를 말한
다.
영상 카메라를 통해 3차원의 실세계 아날로그 신호을 2차원의 디
지털 신호로 변환하여 디지털 영상을 만드는 과정이다.
그림 1-9. 핀홀(pinhole) 카메라 모델에 따른 원근 투영(perspective projection) 기법에 의한 영상 형성
2주차 - 디지털영상처리의개념
18
영상처리 – 영상처리 개념 및 구현하기
참고사항 - 영상 처리 연구 분야에 따른 분류

디지털 영상 복원(Digital Image Restoration)


디지털 영상 복원이란 디지털 영상 형성과정 중에 발생한 영상의 변형이
나 영상 질(quality)의 저하로 인한 문제를 해결하려는 연구분야이다.
영상저하의 원인은 하드웨어 상의 문제로 인해 발생할 수 있으며, 대개 통
계학적인 특성을 가진다. 따라서 이러한 통계학적인 특성을 분석하고 이
를 수학적 모델로 만들어 해결하고자 하는 분야이다.
그림 1-10. 영상 복원(image restoration)
2주차 - 디지털영상처리의개념
19
영상처리 – 영상처리 개념 및 구현하기
참고사항 - 영상 처리 연구 분야에 따른 분류

디지털 영상 향상(Digital Image Enhancement)



디지털 영상 향상이란 그림 1-11과 같이 디지털 영상의 질(quality)을 높
이기 위한 것이다. 즉, 인간의 눈으로 영상을 보았을 경우, 분명하게 인지
할 수 있도록 하는 것이다.
영상 질 저하 원인: 하드웨어적인 잡음, 빛(illumination)이나 조명, 야간
(night), 눈, 비, 안개 등과 같은 환경적 영향
해결책: 오브젝트 윤곽을 좀더 선명하게 하는 기법(image sharpening),
잡음제거(noise reduction) 기법, 환경 적응화(environmental adaptation)
기법
그림 1-11. 영상 향상(image enhancement)
2주차 - 디지털영상처리의개념
20
영상처리 – 영상처리 개념 및 구현하기
참고사항 - 영상 처리 연구 분야에 따른 분류

디지털 영상 변환(Digital Image Transform)


디지털 영상 변환은 영상을 분석하기 위한 수단으로 영상칼라 정보 자체
에서 오브젝트를 분석하기 어려운 경우, 주파수 공간과 같은 다른 공간으
로 변환한 후에, 변환된 공간에서 오브젝트를 분석하는 것을 말한다.
주파수 공간으로 영상 변환을 위해 FFT(Fast Fourier Transform),
DCT(Discrete Cosine Transform), Wavelet 과 같은 알고리즘 등이 있음.
그림 1-12.2주차
원 영상
및 주파수 공간으로 변환 된 영상
- 디지털영상처리의개념
21
영상처리 – 영상처리 개념 및 구현하기
참고사항 - 영상 처리 연구 분야에 따른 분류

디지털 영상 코딩 및 압축(Digital Image Coding
and Compression)




디지털 영상 코딩 및 압축은 획득된 영상데이터의 크기를 줄이고
자 하는 연구분야이다.
디지털 영상 데이터는 사실 많은 데이터 저장공간을 요구한다.
예로, 세로, 가로의 크기가 1024*1024이며, 256개의 칼라를 표
시할 수 있는 카메라를 통해 데이터를 획득했다고 가정하면, 한
장의 영상 데이터를 표현하기 위해 1,048,576 바이트
(=1024*1024*1)가 필요하다.
영상데이터에서 칼라분포를 분석해보면, 이웃하는 칼라의 색은
대부분 같거나 유사하다. 따라서 이러한 특성을 통해 데이터를
압축하는 방식을 사용한다.
영상 압축은 영상 통신시에 거대한 데이터 전송 시 유용하게 사용
될 수 있다.
2주차 - 디지털영상처리의개념
22
영상처리 – 영상처리 개념 및 구현하기
참고사항 - 영상 처리 연구 분야에 따른 분류

디지털 영상 분석(Digital
Image Analysis)

디지털 영상 분석이란 그림
1-13과 같이 획득된 영상
데이터 내에 존재하는 오브
젝트들을 검지(object
detection)해서 이를 인식
(object recognition)하고자
하는 것이다. 또한 인식된
결과를 통해 상황 분석
(situation assessment)을
수행할 수도 있다.
그림 1-13. 영상 분석 예: 이동 물체 검지 및 분석, 인식
2주차 - 디지털영상처리의개념
23
영상처리 – 영상처리 개념 및 구현하기
참고사항 - 영상처리 알고리즘에 따른 분류

픽셀 기반 처리
 단일
영상
 여러 영상


영역 기반 처리
기하학적 처리
2주차 - 디지털영상처리의개념
24
영상처리 – 영상처리 개념 및 구현하기
참고사항 - 영상처리 알고리즘에 따른 분류

단일 영상에서의 픽셀 기반 처리
 픽셀의
원래 값이나 위치에 기반한 픽셀 값을 변경
2주차 - 디지털영상처리의개념
25
영상처리 – 영상처리 개념 및 구현하기
참고사항 - 영상처리 알고리즘에 따른 분류

여러 영상을 이용한 픽셀 기반 처리
두
개 이상의 영상들에 대한 연산을 기반으로 하여 픽
셀 값들을 생성함
2주차 - 디지털영상처리의개념
26
영상처리 – 영상처리 개념 및 구현하기
참고사항 - 영상처리 알고리즘에 따른 분류

영역 기반 처리
 픽셀의
원래 값과 이웃하는 픽셀의 값을 기반으로 하
여 픽셀 값을 변경
2주차 - 디지털영상처리의개념
27
영상처리 – 영상처리 개념 및 구현하기
참고사항 - 영상처리 알고리즘에 따른 분류

기하학적 처리
 픽셀의
위치나 배열을 변화시킴
2주차 - 디지털영상처리의개념
28
영상처리 – 영상처리 개념 및 구현하기
디지털 영상처리의 응용분야







OA용 영상처리
의료용 영상처리
위성사진의 처리
FA용 영상처리
방송.영화에서의 영상처리
자동 영상 인덱싱
고화질의 영상압축 및 통신
2주차 - 디지털영상처리의개념
29
영상처리 – 영상처리 개념 및 구현하기
디지털 영상처리의 응용분야

OA(office automation)용 영상처리

가장 일반적인 응용분야




예 - OCR(Optical Character Recognition)
스캐너를 통해서 얻은 영상에서
자동으로 문자를 인식하는 s/w
주로 흑백 이진 영상이 취급 대
상이 됨
다른 예

CAD도면의 자동입력이나 우편
번호를 인식하여 편지를 자동으
로 분류하는 시스템
2주차 - 디지털영상처리의개념
30
영상처리 – 영상처리 개념 및 구현하기
디지털 영상처리의 응용분야

의료용 영상처리

가장 잘 알려진 예제



MRI(Magnetic Resonance Image)
X-ray영상 등에서 필요한 부분만을 부각하여 표현이 가능
의료용 시스템에서 중요한 역할을 담당
2주차 - 디지털영상처리의개념
31
영상처리 – 영상처리 개념 및 구현하기
디지털 영상처리의 응용분야

위성사진의 처리

사용 분야




군사용, 해양, 기후 조사
지형의 3차원 형상을 자동으로 추출
특정 위치 자동 발견
가시화를 증가시키기 위해 영상 복원 분야에서 많은 연구가
진행
2주차 - 디지털영상처리의개념
32
영상처리 – 영상처리 개념 및 구현하기
디지털 영상처리의 응용분야

FA용 영상처리

자동화용 영상처리


예





영상처리가 실용적으로 가장 잘 적용되는 분야
공장에서 부품결함의 자동 검출
마크의 인식
반도체 웨이퍼의 결함검사
조립을 위한 위치 정합
이러한 분야의 영상처리
 머신비전(Machine vision)
2주차 - 디지털영상처리의개념
33
영상처리 – 영상처리 개념 및 구현하기
디지털 영상처리의 응용분야

방송/영상에서의 영상처리

사용 예


일기예보
영화의 장면들…


컴퓨터 그래픽 기술과 영상처리 기술이 결합한 환상적인 장면을 만듬
영상 몰핑
2주차 - 디지털영상처리의개념
34
영상처리 – 영상처리 개념 및 구현하기
디지털 영상처리의 응용분야

자동 영상 인덱싱

영상 인덱싱(image indexing)



인터넷에 있는 이미지데이터나 동영상을 뒤져 필요로 하는 정보를 포
함하는 영상데이터를 자동으로 찾아오는 기술
영상이 담고 있는 내용인 컨텐츠를 자동으로 해석해주는 기술이 요구
됨
예제 : 키워드 – 풍경을 찍은 영상
2주차 - 디지털영상처리의개념
35
영상처리 – 영상처리 개념 및 구현하기
디지털 영상처리의 응용분야

고화질의 영상압축 및 통신

대량의 데이터를 저장하기 위한 방법



영상 압축
영상의 화질의 열화를 최소화하면서 고속으로 많은 양의 데이터를 최
소의 크기로 만들어줌
JPEG, MPEG-1, 2, 4
2주차 - 디지털영상처리의개념
36