Transcript 12.08

MFC를 이용한 영상처리
부
발표일
발표자
:
:
:
Image
2012. 12. 12
12’전재형
• 대목차
1.역상 계산 & 산술 연산 영상처리
 2.영상 이진화
 3.경계선 검출
 4.형태학적 처리
 5.픽셀 기반 처리
 6.영상 처리

p.2 ~
p.12~
p.19~
p.28~
p.36~
p.43~
p.12
p.18
p.27
p.35
p.42
p.69
1. 역상 계산 & 산술 연산 영상처리
Raw파일 만들기
 역상계산
 산술연산
p.6~10
 구현화면
 참고문헌

p.4
p.5
p.11
p.12
RAW파일 만들기

포토샵을 이용해 회색 음영을 넣고 256*256
크기의 Raw파일을 만듦
역상계산

각 픽셀에 255 에서 원본영상의 밝기 값을 빼준
결과를 출력될 영상 값에 저장함
산술연산 (1/5)

각 픽셀의 밝기 값에 임의의 상수 값을 이용해
사칙연산을 하여 새로운 영상을 형성함
덧셈은 영상의 명암도를 높여 밝은 영상으로 만
듦
 뺄셈은 영상의 명암도를 낮추어 어두운 영상으로
만듦
 곱셈은 밝은 값은 더욱 밝게 하고 어두운 값은
약간 밝게 하여 영상을 보다 선명하게 함
 나눗셈은 영상을 어둡게하며 선명도를 낮춤

산술연산 (2/5)
덧셈 연산
원본영상
상수값 60
상수값 120
산술연산 (3/5)
뺄셈 연산
원본영상
상수값 60
상수값 120
산술연산 (4/5)
곱셈 연산
원본영상
상수값 1.5
상수값 3
산술연산 (5/5)
나눗셈 연산
원본영상
상수값 1.5
상수값 3
구현화면
참고문헌
 Visual
C++을 이용한 디지털 영상처리
강동중/ 하종은 저 사이텍미디어 p.63~p.102
2.영상 이진화
이진화
 구현화면
 슬라이드를 이용한 임계치 변경
 구현화면
 참고문헌

p.14
p.15
p.16
p.17
p.18
이진화

이진화는 확실하게 배경과 문자나 선을 구분하기
위해 쓰임

임의의 임계값을 설정

픽셀의 밝기값이 임계값보다 크면 255로 바꾸고
작으면 0으로 바꿔줌
수식 T = 임계값 , A = 픽셀 밝기값
If(A<=T)
A=0
Else
A=255
구현화면

이진화
임계값 50
값 200
임계값 100
임계
슬라이드바를 이용한 임계치 변경

다이얼로그 박스를 작성함

에디터박스와 슬라이드박스의 최대값과 최소값을
설정함

슬라이드박스의 위치에 따른 값을 에디터박스에
표시함

슬라이드바의 설정값을 도큐먼트클래스의 멤버함
수로 넘겨줘서 이치화 연산을 수행함
구현화면
참고문헌
 Visual
C++을 이용한 디지털 영상처리
강동중/ 하종은 저 사이텍미디어 p.63~p.102
경계선 검출
1.
 2.
 3.
 4.
 5.

경계선
경계선 검출
마스크 처리
구현화면
참고문헌
p.20
p.21
p.22 ~ p.25
p.26
p.27
경계선

경계선은 상대적으로 다른 명암도를 가진 두 영
역 간의 경계임

미분 연산을 사용해서 경계선을 검출함

Prewitt, Roberts, Sobel 등이 미분을 이용한 경
계선 검출용 회선 마스크를 개발함
경계선 검출

영상의 경계선 부분에서 명암 값이 작은 값에서 큰 값
으로 변하면 미분 값은 0보다 큰 값을 갖게 됨

반대로 명암 값이 큰 값에서 작은 값으로 변하면 미분
값은 0보다 작은 값을 갖게 됨

명암값의 변화가 없는 곳에서는 미분 값은 0의 값을
갖게 됨

이러한 성질을 이용해 경계선을 구함
마스크 처리
Laplacian mask
 2차 미분 연산을 사용함
 연산 속도가 매우 빠름
 다른 연산자와 비교하여 날카로운 윤곽선을 검출함

마스크 처리
Prewitt mask
 대각 방향의 경계선보다는 수평,수직 경계선에
더 민감함
 연산 속도가 빠름
 윤곽선 검출 시 윤곽선이 덜 부각됨

마스크 처리
수직마스크
수평마스크
Sobel mask
 수평, 수직 방향의 경계선 보다는 대각선 방향의
경계선에 더 민감함
 연산 속도가 느림

마스크 처리
Roberts mask
 다른 마스크보다 크기가 작아서 연산에 효율적임
 잡음에 민감함

구현화면
원본
Laplacian
Sobel
Roberts
Prewitt
참고문헌

Visual C++ 을 이용한 디지털 영상처리
강동중/하종은 저 사이텍미디어
p.164 ~
p.181

Visual C++ 을 이용한 실용 영상처리
정성태 저 생능출판사
~ p76
p.70
형태학적 처리
1.
 2.
 3.
 4.

형태학적 처리
형태학적 연산
구현화면
참고문헌
형태학적 처리

형태학적 처리는 영상의 기본적인 특징은
유지하면서 형태에 변화를 주는 처리를 의미함

대표적으로 침식 연산, 팽창 연산, 열림 연산,
닫힘 연산이 있음

영상 내의 객체 형태를 변형시킬 수 있어서
영상 분석에 사용됨
형태학적 연산(1/4)
원본 영상
연산 후 영상
 침식 연산
 배경을 확장하는 의미임
 주위의 픽셀 중 하나라도 0이면 0으로 바꿈
 잡음 제거의 장점이 있음
형태학적 연산(2/4)
원본 영상
연산 후 영상
 팽창 연산
 물체를 확장하는 의미
 주위 픽셀 중 하나라도 1이면 1로 바꿈
 물체 내부에 있는 잡음을 제거함
형태학적 연산(3/4)
원본 영상
연산 후 영상
 열림 연산
 침식 연산 후 팽창 연산을 함
 연결점이 있을 때 물체를 분리하는데 사용함
형태학적 연산(4/4)
원본 영상
연산 후 영상
 닫힘 연산
 팽창 연산 후 침식 연산을 함
 고립점을 제거하고 분리된 물체를 결합하는데
유용함
구현 화면
원본영상
창영상
열림영상
침식영상
닫힘영상
팽
참고문헌

Visual C++ 을 이용한 실용 영상처리
정성태 저 생능출판사
~ p.123
p.110
픽셀 기반 처리
히스토그램
 히스토그램의 평활화
 구현화면
 참고문헌

p.37 ~ p.38
p.39
p.40 ~ p.41
p.42
히스토그램 (1/2)

히스토그램은 영상의 픽셀들에 대한 밝기 값의
분포를 나타낸 것임

가로축은 픽셀의 밝기 값이며,
세로축은 밝기 값의 빈도수임
히스토그램 (2/2)
왼쪽으로 치우침 - 어두운 영상
좁은 영역에 분포 - 선명하지 않은 영상
오른쪽으로 치우침 - 밝은 영상
넓은 영역에 분포 – 선명한 영상
히스토그램의 평활화

낮은 명암대비를 가진 선명하지 않은 히스토그램
의 영상들을 높은 명암대비를 갖는 히스토그램의
영상으로 변환함

히스토그램의 막대 위치가 수평방향으로 이동하
고
그 높이는 변하지 않음
구현화면 (1/2)
원본영상
원본의 히스토그램
평활화영상
평활화의 히스토그램
구현화면 (2/2)
원본 영상
원본의 히스토그램
평활화영상
평활화의 히스토그램
참고문헌

Visual C++ 을 이용한 실용 영상처리
정성태 저 생능출판사
p.43 ~ p.59
6.영상처리
픽셀 기반 처리
p.44~ p.56
 영역 기반 처리

p.57~ p.68
역상계산

각 픽셀에 255 에서 원본영상의 밝기 값을 빼준
결과를 출력될 영상 값에 저장함

구현화면
산술연산 (1/5)

각 픽셀의 밝기 값에 임의의 상수 값을 이용해
사칙연산을 하여 새로운 영상을 형성함
* 영상처리 수식
for(int x=0; x<256; x++)
for(int y=0; y<256; y++)
{
resultImg[x][y] = InputImg[x][y] (+,-,*,/) k
}
산술연산 (2/5)
* 덧셈 연산
- 명암도를 높여 밝은 영상으로 출력
원본영상
상수 값 : 60
상수 값 : 120
산술연산 (3/5)
* 뺄셈 연산
- 명암도를 낮춰 어두운 영상으로 출력
원본영상
상수값 60
상수값 120
산술연산 (4/5)
* 곱셈 연산
- 밝은 값을 더 밝게하고 어두운값은 조금 밝게
하여 영상을 보다 선명하게 함
원본영상
상수값 1.5
상수값 3
산술연산 (5/5)
* 나눗셈 연산
- 영상을 어둡게하여 선명도를 낮춤
원본영상
상수값 1.5
상수값 3
히스토그램(1/2)

히스토그램은 영상의 픽셀들에 대한 밝기 값의
분포를 나타낸 막대 그래프임

가로축은 픽셀의 밝기 값이며,
세로축은 밝기 값이 나타난 픽셀의 빈도수임
히스토그램 (2/2)
왼쪽으로 치우침 - 어두운 영상
좁은 영역에 분포 - 선명하지 않은 영상
오른쪽으로 치우침 - 밝은 영상
넓은 영역에 분포 – 선명한 영상
히스토그램의 평활화

밝기 분포가 특정부분에 치우친 것을 넓은 밝기
영역에 걸쳐 분포하도록 히스토그램을 펼쳐준 것임

히스토그램의 막대 위치가 수평방향으로 이동하고
그 높이는 변하지 않음
구현화면 (1/2)
원본영상
원본의 히스토그램
평활화 영상
평활화 한 히스토그램
구현화면 (2/2)
원본영상
원본영상
평활화 영상
평활화 영상
영상 이진화

이진화는 2가지 값을 갖는 영상으로 변환 함으로써
영상의 분석을 용이하게 할 수 있음

임계값 이상이면 255, 아니면 0으로 구분함
* T = 임계값
구현화면

이진화
임계값 50
값 200
임계값 100
임계
경계선

영역의 경계를 나타내며, 픽셀 밝기의 불연속점을
나타냄
* 1차 미분을 이용한 방법
- Prewitt, Roberts, Sobel 등 경계선 검출용
회선 마스크가 있음
* 2차 미분을 이용한 방법
- Laplacian 마스크가 있음
마스크 처리(1/4)
Laplacian mask
 2차 미분 연산을 사용함
 연산 속도가 매우 빠름
 다른 연산자와 비교하여 날카로운 윤곽선을 검출함

마스크 처리(2/4)
Prewitt mask
 대각 방향의 경계선보다는 수평,수직 경계선에
더 민감함
 연산 속도가 빠름
 윤곽선 검출 시 윤곽선이 덜 부각됨

마스크 처리(3/4)
Sobel mask
 수평, 수직 방향의 경계선 보다는 대각선 방향의
경계선에 더 민감함
 연산 속도가 느림

마스크 처리(4/4)
Roberts mask
 다른 마스크보다 크기가 작아서 연산에 효율적임
 잡음에 민감함
 분명한 에지만 검출함

구현화면
원본
Laplacian
Sobel
Roberts
Prewitt
형태학적 처리

형태학적 처리는 영상의 기본적인 특징은
유지하면서 형태에 변화를 주는 처리를 의미함

대표적으로 침식 연산, 팽창 연산, 열림 연산,
닫힘 연산이 있음
형태학적 연산(1/4)
원본 영상
연산 후 영상
침식 연산
 배경을 확장하는 의미임
 주위의 픽셀 중 하나라도 0이면 0으로 바꿈
 잡음 제거의 장점이 있음

형태학적 연산(2/4)
원본 영상
연산 후 영상
팽창 연산
 물체를 확장하는 의미
 주위 픽셀 중 하나라도 1이면 1로 바꿈
 물체 내부에 있는 잡음을 제거함

형태학적 연산(3/4)
원본 영상
연산 후 영상
 열림 연산
 침식 연산 후 팽창 연산을 함
 연결점이 있을 때 물체를 분리하는데 사용함
형태학적 연산(4/4)
원본 영상
연산 후 영상
 닫힘 연산
 팽창 연산 후 침식 연산을 함
 고립점과 잡음 제거에 유용하며 분리된 물체를
결합하는데 사용됨
구현 화면
원본영상
창영상
열림영상
침식영상
닫힘영상
팽
참고문헌
 Visual
C++ 을 이용한 실용 영상처리
정성태 저 생능출판사
p.43~p.122