390 likes | 1.82k Views
MFC 를 이용한 영상처리. 부 : Image 발표일 : 2012. 10. 10 발표자 : 12’ 전재형. 대목차. 1. 역상 계산 & 산술 연산 영상처리 p.2 ~ p.12 2. 영상 이진화 p.12~ p.18 3. 경계선 검출 p.19~ p.27 4. 형태학적 처리 p.28~ p.35. 1. 역상 계산 & 산술 연산 영상처리. Raw 파일 만들기 p.4 역상계 산 p.5 산 술 연산 p.6~10
E N D
MFC를 이용한 영상처리 부: Image 발표일 : 2012. 10. 10 발표자 : 12’전재형
대목차 • 1.역상 계산 & 산술 연산 영상처리 p.2 ~ p.12 • 2.영상 이진화 p.12~ p.18 • 3.경계선 검출 p.19~ p.27 • 4.형태학적 처리 p.28~ p.35
1. 역상 계산 & 산술 연산 영상처리 • Raw파일 만들기p.4 • 역상계산 p.5 • 산술연산p.6~10 • 구현화면 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임계값100 임계값200
슬라이드바를 이용한 임계치 변경 • 다이얼로그 박스를 작성함 • 에디터박스와 슬라이드박스의 최대값과 최소값을 설정함 • 슬라이드박스의 위치에 따른 값을 에디터박스에 표시함 • 슬라이드바의설정값을 도큐먼트클래스의 멤버함수로 넘겨줘서 이치화 연산을 수행함
참고문헌 • Visual C++을 이용한 디지털 영상처리 강동중/ 하종은 저사이텍미디어p.63~p.102
경계선 검출 • 1. 경계선 p.20 • 2. 경계선 검출 p.21 • 3. 마스크 처리 p.22 ~ p.25 • 4. 구현화면 p.26 • 5. 참고문헌 p.27
경계선 • 경계선은 상대적으로 다른 명암도를 가진 두 영역 간의 경계임 • 미분 연산을 사용해서 경계선을 검출함 • Prewitt, Roberts, Sobel등이 미분을 이용한 경계선 검출용 회선 마스크를 개발함
경계선 검출 • 영상의 경계선 부분에서 명암 값이 작은 값에서 큰 값으로 변하면 미분 값은 0보다 큰 값을 갖게 됨 • 반대로 명암 값이 큰 값에서 작은 값으로 변하면 미분 값은 0보다 작은 값을 갖게 됨 • 명암값의 변화가 없는 곳에서는 미분 값은 0의 값을 갖게 됨 • 이러한 성질을 이용해 경계선을 구함
마스크 처리 • Laplacian mask • 2차 미분 연산을 사용함 • 연산 속도가 매우 빠름 • 다른 연산자와 비교하여 날카로운 윤곽선을 검출함
마스크 처리 • Prewitt mask • 대각 방향의 경계선보다는 수평,수직 경계선에 더 민감함 • 연산 속도가 빠름 • 윤곽선 검출 시 윤곽선이 덜 부각됨
마스크 처리 • Sobel mask • 수평, 수직 방향의 경계선 보다는 대각선 방향의 경계선에 더 민감함 • 연산 속도가 느림 수직마스크 수평마스크
마스크 처리 • Roberts mask • 다른 마스크보다 크기가 작아서 연산에 효율적임 • 잡음에 민감함
구현화면 원본 LaplacianPrewitt Sobel Roberts
참고문헌 • Visual C++ 을 이용한 디지털 영상처리 강동중/하종은 저 사이텍미디어p.164 ~ p.181 • Visual C++ 을 이용한 실용 영상처리 정성태 저 생능출판사p.70 ~ p76
형태학적 처리 • 1. 형태학적 처리 p.29 • 2. 형태학적 연산 p.30~ p.33 • 3. 구현화면 p.34 • 4. 참고문헌 p.35
형태학적 처리 • 형태학적 처리는 영상의 기본적인 특징은 유지하면서 형태에변화를 주는 처리를 의미함 • 대표적으로 침식 연산, 팽창 연산, 열림 연산, 닫힘 연산이 있음 • 영상 내의 객체 형태를 변형시킬 수 있어서 영상 분석에 사용됨
형태학적 연산(1/4) 원본 영상 연산 후 영상 • 배경을 확장하는 의미임 • 주위의 픽셀 중 하나라도 값이 0이면 0으로 바꿈 • 배경에 작은 잡음 제거의 장점이 있음 * 침식 연산
형태학적 연산(2/4) 원본 영상 연산 후 영상 • 물체를 확장하는 의미 • 주위 픽셀 중 하나라도 값이 1이면 1로 바꿈 • 물체 내부에 있는 불필요한 잡음을 제거함 * 팽창 연산
형태학적 연산(3/4) 원본 영상연산 후 영상 • 침식 연산 후 팽창 연산을 함 • 연결점이 있을 때 물체를 분리하는데 유용함 * 열림 연산
형태학적 연산(4/4) 원본 영상연산 후 영상 • 팽창 연산 후 침식 연산을 함 • 고립점을 제거하고 분리된 물체를 결합하는데 유용함 * 닫힘 연산
구현 화면 원본 영상침식 영산 팽창 영산닫힘 연산열림 연산
참고문헌 • Visual C++ 을 이용한 실용 영상처리 정성태 저 생능출판사p.110 ~ p123