디지털 이미지 픽셀 처리와 히스토그램 연산
-
픽셀 단위 사칙 연산.
- 픽셀 단위 더하기 연산.
Output(x,y) = Image(x,y) + C - 어두운 영상의 명도를 밝게 해준다.
Output(x,y) = Image(x,y) + Image2(x,y) - 이미지의 경계선을 뚜렷하게 보여주는 전처리에 사용. - 픽셀 단위 빼기 연산.
Output(x,y) = Image(x,y) - C - 밝기를(명도) 낮춰준다. 뺀값이 음수 일때는 반전.
Output(x,y) = Image(x,y) - Image2(x,y) - 이미지의 차이로 물체의 이동 등을 구할 수 있다.
Output(x,y) = | Image(x,y) + Image2(x,y) | -절대값을 취하여 구할 수 있음. - 픽셀 단위 곱하기 연산.
Output(x,y) = Image(x,y) * C - 밝은 값은 밝게 어두운 값은 어둡게.
Output(x,y) = Image(x,y) * Image2(x,y) - AND 연산 효과. - 픽셀 단위 나누기 연산.
Output(x,y) = Image(x,y) / C - 결과 값이 작지만 밝기 조절.
Output(x,y) = Image(x,y) / Image2(x,y) - 결과 값이 작지만 이동 물체 검출.
- 픽셀 단위 더하기 연산.
- Satuation - 밝기 255 이상은 255로
Wrap - 밝기 255 넘어가면 0 부터.
-
Histogram - 영상 안에서 픽셀들에 대한 명함 값의 분포를 나타낸 것이다. (X-명함 , Y- 빈도수)
- 이진화 : 디지털 영상의 경우 검정색과 흰색 두 개의 값으로만 표현하는 기법으로 명도 값으로 표현할 경우 0또는 255의 값만을 갖는다고 하며 더욱 일반적인 표현으로는 0 또는 1의 값만을 갖는다고 표현한다.
- 임계값 : 경계 값이라고 할 수 있으며 특정 정보추출을 위해 영상의 특징을 나눌 때 기준으로 잡는 값을 말한다.
-
MFC 이진화 프로그램.
- 임계점을 잡고 CTestDoc에서 함수 생성, 예를 들어 임계점 128이면 - 이중 루프(이차원 배열) 256 픽셀 돌면서 128보다 작으면 0, 크면 255로 이진화 시키면 됨.
- 임계점을 잡고 CTestDoc에서 함수 생성, 예를 들어 임계점 128이면 - 이중 루프(이차원 배열) 256 픽셀 돌면서 128보다 작으면 0, 크면 255로 이진화 시키면 됨.
-
히스토그램 평활화.(Equalization) - 명암 값의 분포가 한쪽으로 치우치거나 균일하지 못한 영상을 균일하게! (콘트라스트 밸런스)
* 정규화: 변환 함수에 의해 변환된 값은 변환되어져야 하는 범위값을 넘어설 때가 있다. 이러한 값들을 원하는 일정범위 안에 재 매핑 시키기 위해 조정하는 것을 말한다.- 히스토그램을 이용한 빈도수 계산. (명도값 0 이몇개인지 .... 명도값 100이 몇개인지 빈도수 계산)
- 구한 빈도 수를 이용하여 축적 히스토그램 값을 구하고 정규화 시킴.
K(정규화 값) = { Gmax(명도 최대 값)/ N(영상 픽셀 총 개수) } * H(i) 축적히스토그램 - 정규화된 축적 히스토그램을 그레이 스케일 사상 함수로 이용하여 그레이 레벨 값을 맵핑.
-
히스토그램 스트래칭(Stretching) - 콘트라스트 향상 연산. (뚜렷)
* 룩업 테이블 : 룩업 테이블이란 입력 값에 대한 대응되는 출력 밧을 테이블 형시으로 작성해 놓은 것을 말하는데 { 이전픽셀 - 최소픽셀 / 최대픽셀 - 최소픽셀 } * 255 = 새로운 픽셀 로 구했다.(LUT)-
히스토 그램 스트레칭 - 가로축: 입력 그래이 레벨, y축: 스트레칭 출력 그레이 레벨.
- 명도 값 빈도수 계산.
- 결과 영상 가장 낮은 명도에 매칭 시킬 원 영상 가장 낮은 명도 계산.
- 결과 영상 가장 높은 명도에 매칭 시킬 원 영상 가장 높은 명도 계산.
- 원 영상 입력 픽셀에 대한 결과 영상 출력 픽셀을 결정하는 룩업 테이블 계산.
- 스트레칭 강도 조정하는 Factor 값 결정.
-
-
로그(Logrithm Operator)를 이용한 히스토그램 개선.
- 명함도를 일괄적으로 개선. 로그함수의 계수에 따라 밝기 값 변화 정도가 급격한 그래프를 나타냄
- Output(x,y) = C*log(1+ | Input(x,y) |)
c= 255/log(1+max[Input(x,y)])
이 글은 스프링노트에서 작성되었습니다.
'Image Processing & Algorithm' 카테고리의 다른 글
[Motion Estimation] Diamond Search Algorithm (0) | 2010.12.03 |
---|---|
[Motion Estimation] What is ME? (0) | 2010.12.03 |
그레이 영상에서의 윤곽선 검출 Edge Detection (1) | 2010.11.09 |
기하학적 변환을 통한 영상처리 (0) | 2010.11.09 |
Digital IMG Processing 이란 무엇인가? (0) | 2010.11.09 |