22
영상처리 소프트웨어 4. 포인트 처리 기법 한동일 2/44 영상 처리의 4가지 기본 분류 1. 포인트 처리(Point Processing) 2. 영역 처리(Area Processing) 3. 기하학적 처리(Geometric Processing) 4. 프레임 처리(Frame Processing)

PS04 present1.ppt [호환 모드] - dasan.sejong.ac.krdasan.sejong.ac.kr/~dihan/ips/PS04_present1.pdf · – 반전영상(negative image) – 감마보정(gamma correction) – 확장(stretching)

Embed Size (px)

Citation preview

Page 1: PS04 present1.ppt [호환 모드] - dasan.sejong.ac.krdasan.sejong.ac.kr/~dihan/ips/PS04_present1.pdf · – 반전영상(negative image) – 감마보정(gamma correction) – 확장(stretching)

영상처리 소프트웨어

4. 포인트 처리 기법

한동일

2/44

영상 처리의 4가지 기본 분류

1. 포인트 처리(Point Processing) 2. 영역 처리(Area Processing)

3. 기하학적 처리(Geometric Processing) 4. 프레임 처리(Frame Processing)

Page 2: PS04 present1.ppt [호환 모드] - dasan.sejong.ac.krdasan.sejong.ac.kr/~dihan/ips/PS04_present1.pdf · – 반전영상(negative image) – 감마보정(gamma correction) – 확장(stretching)

3/44

영상 처리의 4가지 기본 분류

1. 포인트 처리(Point Processing)

4/56

포토샵에서의 포인트 처리 기법

Page 3: PS04 present1.ppt [호환 모드] - dasan.sejong.ac.krdasan.sejong.ac.kr/~dihan/ips/PS04_present1.pdf · – 반전영상(negative image) – 감마보정(gamma correction) – 확장(stretching)

5/44

• 영상의 화소값에 대해서 직접 연산을 수행• 포인트 처리의 종류

– 산술 연산 (Arithmetic operations)– 논리 연산 (Logical operations)– 룩업 테이블 처리 (Look-up table processing)– 히스토그램(Histogram)– 명암 대비 스트레칭 (Contrast stretching)– 명암 변환 (Intensity transform)

포인트 처리 (Point Processing)

6/44

• 덧셈, 뺄셈 연산– 영상 화소값에 상수를 더하면 영상이 밝아진다.– 영상 화소값에 상수를 빼면 영상이 어두워진다.

<Original> <Original+50> <Original-60>

산술 연산 (Arithmetic Operations)

Page 4: PS04 present1.ppt [호환 모드] - dasan.sejong.ac.krdasan.sejong.ac.kr/~dihan/ips/PS04_present1.pdf · – 반전영상(negative image) – 감마보정(gamma correction) – 확장(stretching)

7/44

• 곱셈, 나눗셈 연산– 영상의 명암 대비 조정– 곱셈 연산 : 영상의 명암 대비 증가– 나눗셈 연산 : 영상의 명암 대비 감소

<Original> <Original *1.5> <Original/1.5>

산술 연산 (Arithmetic Operations)

8/44

• 문제점– 덧셈 연산 : 출력 영상의 값이 영상의 최대값을 초과– 뺄셈 연산 : 출력 영상의 값이 영상의 최소값을 초과– 곱셈 연산 : 출력 영상의 값이 영상의 최대값을 초과

• 단순한 해결책 : 출력 영상의 값을 제한– 0보다 작은 값은 0, 255를 초과하는 값은 255로 조정– 영상이 포화(saturation)됨

original saturated

산술 연산 (Arithmetic Operations)

Page 5: PS04 present1.ppt [호환 모드] - dasan.sejong.ac.krdasan.sejong.ac.kr/~dihan/ips/PS04_present1.pdf · – 반전영상(negative image) – 감마보정(gamma correction) – 확장(stretching)

9/44

• XOR 연산(Exclusive OR)

• AND 연산

• OR 연산

A XOR B A = 0 A = 1

B = 0

B = 1

0

1

1

0

A AND B A = 0 A = 1

B = 0

B = 1

0

0

0

1

A OR B A = 0 A = 1

B = 0

B = 1

0

1

1

1

논리 연산 (Logical Operations)

10/44

• 영상 처리에서의 XOR 연산– 영상의 화소 값 중에서 특정 값과 일치하는 화소를 0으로 처리

Ex) 포토샵의 MagicWand 에 응용

: 영상의 화소값 중 선택한 값과같은 값을 가진 픽셀들만 선택.

선택

논리 연산 (Logical Operations)

Page 6: PS04 present1.ppt [호환 모드] - dasan.sejong.ac.krdasan.sejong.ac.kr/~dihan/ips/PS04_present1.pdf · – 반전영상(negative image) – 감마보정(gamma correction) – 확장(stretching)

11/44

• 룩업 테이블– 1차원 배열(array)로 구성– 입력 영상 값을 배열의 인덱스로 사용– 해당 인덱스의 값을 출력 영상으로 생성

• 장점– 사용이 용이(소프트웨어 : 배열, 하드웨어 : 메모리로 구현)– 복잡한 수식 연산도 쉽게 구현(예: y = sin x, y = log x)

룩업 테이블 (Look-up Table)

12/44

• 룩업 테이블의 그래픽 표현– 배열(array)의 인덱스를 x 좌표로 표현(입력 영상의 화소 값)– 배열의 값을 변환 함수로 표현– 출력 값을 y 좌표로 표현(출력 영상의 화소 값)

x

y

0 1 2 3 4 5 6 7입력 영상

출력영상

76543210

룩업 테이블 (Look-up Table)

Page 7: PS04 present1.ppt [호환 모드] - dasan.sejong.ac.krdasan.sejong.ac.kr/~dihan/ips/PS04_present1.pdf · – 반전영상(negative image) – 감마보정(gamma correction) – 확장(stretching)

13/44

• 룩업 테이블의 사용 예: 감마 보정(Gamma correction)

룩업 테이블 (Look-up Table)

14/44

• 영상에서 모든 화소값의 빈도를 기둥 형태로나타낸 그래프– X축 : 영상의 화소값을 나타냄– Y축 : 각 화소값의 빈도를 나타냄

영상 히스토그램

히스토그램 (Histogram)

Page 8: PS04 present1.ppt [호환 모드] - dasan.sejong.ac.krdasan.sejong.ac.kr/~dihan/ips/PS04_present1.pdf · – 반전영상(negative image) – 감마보정(gamma correction) – 확장(stretching)

15/44

• 히스토그램의 특징– 영상의 각 명암의 분포 정보를 제공– 영상의 밝기 정보와 명암 대비 정보 유추 가능– 어두운 영상 : 히스토그램이 왼쪽으로 치우쳐 있다.– 밝은 영상 : 히스토그램이 오른쪽으로 치우쳐 있다.– 콘트라스트가 작은 영상 : 히스토그램이 뭉쳐 있다.– 콘트라스트가 큰 영상 : 히스토그램이 펼쳐져 있다.

히스토그램 (Histogram)

16/44

• 히스토그램과 산술 연산과의 관계– 덧셈 연산 : 영상이 밝아짐

• 히스토그램이 오른쪽으로 이동

– 뺄셈 연산 : 영상이 어두워짐• 히스토그램이 왼쪽으로 이동

originalOriginal + 40 Original - 40

히스토그램 (Histogram)

Page 9: PS04 present1.ppt [호환 모드] - dasan.sejong.ac.krdasan.sejong.ac.kr/~dihan/ips/PS04_present1.pdf · – 반전영상(negative image) – 감마보정(gamma correction) – 확장(stretching)

17/44

• 히스토그램과 산술 연산과의 관계– 곱셈 연산 : 콘트라스트 증가

• 히스토그램이 넓어짐

– 나눗셈 연산 : 콘트라스트 감소• 히스토그램이 좁아짐

originalOriginal * 1.2 Original / 1.2

히스토그램 (Histogram)

18/44

• 칼라 영상의 히스토그램– R, G, B 각각의 영상에 대해서 히스토그램 처리

히스토그램 (Histogram)

Page 10: PS04 present1.ppt [호환 모드] - dasan.sejong.ac.krdasan.sejong.ac.kr/~dihan/ips/PS04_present1.pdf · – 반전영상(negative image) – 감마보정(gamma correction) – 확장(stretching)

19/44

• 히스토그램 평활화– 히스토그램의 명암 분포를 재분배하여

일정한 분포의 히스토 그램을 생성

히스토그램 평활화 (Histogram Equalization)

20/44

• 누적분포함수(Cumulative Distribution Function, CVD)

– 히스토그램의 각 항목까지의 누적합을 표현한 그래프

• 누적분포함수의 특징

0 1

1

0 1

0

1

0 1

1

0 1

1

“histogram”

“histogram”

“CDF curve”

“CDF curve”

0

0 0

어두운 영상 => 위로 볼록한 모양

밝은 영상 => 아래로 볼록한 모양

히스토그램 평활화 (Histogram Equalization)

Page 11: PS04 present1.ppt [호환 모드] - dasan.sejong.ac.krdasan.sejong.ac.kr/~dihan/ips/PS04_present1.pdf · – 반전영상(negative image) – 감마보정(gamma correction) – 확장(stretching)

21/44

• 히스토그램 평활화 과정1. 영상의 히스토그램을 생성2. 히스토그램을 정규화하고 누적분포함수를 구함3. 누적분포함수를 LUT로 사용하여

입력 영상에 대해서 변환된 출력 영상을 생성

1 2 3

히스토그램 평활화 (Histogram Equalization)

22/44

원본 이미지 평활화된이미지

히스토그램 평활화 (Histogram Equalization)

Page 12: PS04 present1.ppt [호환 모드] - dasan.sejong.ac.krdasan.sejong.ac.kr/~dihan/ips/PS04_present1.pdf · – 반전영상(negative image) – 감마보정(gamma correction) – 확장(stretching)

23/44

• 히스토그램 평활화의 영향– 영상의 밝기 분포를 재 분배하여 최대의 콘트라스트를 갖게 함– 명암 대비 조정을 자동으로 수행– 영상의 검출 특성을 증가 시킴– 각 명암의 빈도를 바꾸지는 않음

히스토그램 평활화 (Histogram Equalization)

24/44

• 명암 대비– 영상의 밝은 영역과 어두운 영역의 차이를 나타냄

• 명암 대비의 스트레칭– 영상의 명암 분포가 최대한 확장되도록 히스토그램을 펼치는

기능– 높은 콘트라스트의 영상 : 어둡고 밝은 영역을 모두 포함

낮은 콘트라스트 높은 콘트라스트

명암 대비 스트레칭 (Contrast Stretching)

Page 13: PS04 present1.ppt [호환 모드] - dasan.sejong.ac.krdasan.sejong.ac.kr/~dihan/ips/PS04_present1.pdf · – 반전영상(negative image) – 감마보정(gamma correction) – 확장(stretching)

25/44

• 기본 명암 대비 스트레칭(Basic contrast stretching)

– 히스토그램이 영상의 모든 영역을 갖도록 변환– 히스토그램의 중앙 부분에 영상이 치우지는 경우 효과적

원본 이미지의히스토그램

스트레칭된히스토그램

명암 대비 스트레칭 (Contrast Stretching)

26/44

• 엔드인 탐색(End- In-Search)

– 일정한 값의 화소를 흰색(white), 검은색(black)을 갖도록 지정– Low : 검은색을 갖기 원하는 값– High : 흰색을 갖기 원하는 값

원본 이미지의히스토그램

스트레칭된히스토그램

명암 대비 스트레칭 (Contrast Stretching)

Page 14: PS04 present1.ppt [호환 모드] - dasan.sejong.ac.krdasan.sejong.ac.kr/~dihan/ips/PS04_present1.pdf · – 반전영상(negative image) – 감마보정(gamma correction) – 확장(stretching)

27/44

Original Image

Original Image

Basic Contrast Stretching

End-in Search

명암 대비 스트레칭 (Contrast Stretching)

28/44

• 부분 선형 확장(Piecewise-Linear Stretching)

– 영상의 입/출력 변환을 몇 개의 선형 구간으로 분리– 영상의 다이내믹 영역을 증가– 계수 값을 조정하여 클리핑(clipping), 임계화(thresholding) 을

구현 가능– 클리핑 : – 임계화 :

0 ],[ bautba

Lubvbu

buavau

auu

v

LvLuufv

b

a

)(

)(

0,

],0[],,0[)(

명암 대비 스트레칭 (Contrast Stretching)

Page 15: PS04 present1.ppt [호환 모드] - dasan.sejong.ac.krdasan.sejong.ac.kr/~dihan/ips/PS04_present1.pdf · – 반전영상(negative image) – 감마보정(gamma correction) – 확장(stretching)

29/44

• 부분 선형 확장(Piecewise-Linear Stretching)

5.0

5.0

5.1

5.1

5.0

5.0

5.0

5.1

5.0

Contrast Stretching, a = 80, b= 160

명암 대비 스트레칭 (Contrast Stretching)

30/44

• 명암 변환(Intensity Transform)

– 미리 정의된 함수를 기반으로 하여 이전 화소를 새로운 화소로변환하는 점 처리 기법

– 룩업 테이블(look-up table)로 쉽게 구현 가능– 히스토그램의 빈도는 많은 경우 바뀜

• 명암 변환 예– 항등 변환(null transform)– 반전 영상(negative image)– 감마 보정(gamma correction)– 확장(stretching)

명암 변환 (Intensity Transform)

Page 16: PS04 present1.ppt [호환 모드] - dasan.sejong.ac.krdasan.sejong.ac.kr/~dihan/ips/PS04_present1.pdf · – 반전영상(negative image) – 감마보정(gamma correction) – 확장(stretching)

31/44

명암 변환 (Intensity Transform)

32/44

• 명암 변환 예– 압축(compression)

• 히스토그램이 일부분의 명암 값만을 갖도록 변환

– 포스터라이징(posterizing)• 영상에 존재하는 명암의 수를 줄임• 영상 데이터 양을 줄이는 데 사용

– 임계값 변환(thresholding)• 포스퍼라이징에서 명암의 수가 2인 경우

명암 변환 (Intensity Transform)

Page 17: PS04 present1.ppt [호환 모드] - dasan.sejong.ac.krdasan.sejong.ac.kr/~dihan/ips/PS04_present1.pdf · – 반전영상(negative image) – 감마보정(gamma correction) – 확장(stretching)

33/44

명암 변환 (Intensity Transform)

34/44

• 명암 변환 예– 영역 임계값 변환(bounded thresholding)

• 특정 명암 범위만 이진 영상 처리

– 등명암 윤곽화(iso-intensity contouring)• 특정한 입력 명암 값을 흰색이나 검은색으로 처리• 특정 구간에 존재하는 윤곽선을 찾을 때 사용

– 솔라라이징(solarizing)• 영상의 특정 명암 부분만 반전 영상으로 처리

명암 변환 (Intensity Transform)

Page 18: PS04 present1.ppt [호환 모드] - dasan.sejong.ac.krdasan.sejong.ac.kr/~dihan/ips/PS04_present1.pdf · – 반전영상(negative image) – 감마보정(gamma correction) – 확장(stretching)

35/44

명암 변환 (Intensity Transform)

36/44

프로그램 실습

- 명암 변환

Page 19: PS04 present1.ppt [호환 모드] - dasan.sejong.ac.krdasan.sejong.ac.kr/~dihan/ips/PS04_present1.pdf · – 반전영상(negative image) – 감마보정(gamma correction) – 확장(stretching)

37/56

다양한 영상을 이용한 명암 변환 기법 이해

38/56

다양한 영상을 이용한 명암 변환 기법 이해

Page 20: PS04 present1.ppt [호환 모드] - dasan.sejong.ac.krdasan.sejong.ac.kr/~dihan/ips/PS04_present1.pdf · – 반전영상(negative image) – 감마보정(gamma correction) – 확장(stretching)

39/44

프로그램 사용 방법

입력 값 : 없음(자동처리)

입력 값 : 기울기(1/n), x절편

입력 값 : 기울기(n), y절편

40/44

프로그램 사용 방법

입력 값 : 계단 개수

입력 값 : 기준값

128

100 128 160

Page 21: PS04 present1.ppt [호환 모드] - dasan.sejong.ac.krdasan.sejong.ac.kr/~dihan/ips/PS04_present1.pdf · – 반전영상(negative image) – 감마보정(gamma correction) – 확장(stretching)

41/44

프로그램 사용 방법

입력 값 : 간격, 폭

간격 : 50

폭 : 20

42/44

포인트 처리 기법을 이용하여 자신의 프로필 사진 만들기- 각각 처리 단계마다 저장하며 진행- 다양한 포인트 처리 이용- 가급적 배경 없는 이미지 사용

예)

HW2 : 프로필 사진 만들기

Page 22: PS04 present1.ppt [호환 모드] - dasan.sejong.ac.krdasan.sejong.ac.kr/~dihan/ips/PS04_present1.pdf · – 반전영상(negative image) – 감마보정(gamma correction) – 확장(stretching)

43/44

HW2 : 프로필 사진 만들기

1) 첨부된 명함 변환 프로그램 내 각각의 동작 이해2) 각종 명함 변환 프로그램을 이용한 사진 변환

• 스마트폰을 이용하여 본인 사진 촬영• 첨부된 변환 프로그램을 활용하여 영상 변환 및 저장을 반복• 앞 페이지의 예와 같은 본인을 나타낼 수 있는 특별한 사진 제작• 포토샵은 사용하지 않음

기타 사항• 명함 변환을 수행할 때 마다 각각의 동작 및 parameter를 저장하여재현이 가능하게 할 것

44/44

HW2 : 프로필 사진 만들기

제출 관련 사항

제출일시 : 4월 12일오후 11시 59분까지

제출방법 : 블랙보드에제출

완성되는과정에어떠한영상변환기법이사용되었고사용된파라미터는얼마인지제공

보고서내에가급적영상의변환과정을나타냄

제출파일 : 입력영상, 출력영상, 생성과정을서술하는보고서를하나의파일로압축

제출파일명규칙 : IPS HW2 학번이름.zip

기한엄수 : 기한이후제출한과제는 0점처리

기타사항:

총점 50점만점

개별과제임