Blog | Tag | Local | Guest | Login | Write |  RSS

 안녕하세요.
 이번 포스팅에서는 포인트 연산 , 그중에서 상수값에 의한 산술연산에 대해 알아보고자 합니다.
 구현된 결과는 다음과 같습니다.



 픽셀단위의 산술연산을 할 경우는
 기본 산술연산에 있는 네가지 + (덧셈) - (뺄셈) * (곱셈) / (나눗셈) 가 있습니다.

 간단하게 말하자면 산술연산시 상수값을 더하거나 빼는 것처럼
 픽셀의 밝기 값에 상수값을 더하거나 빼서 새로운 영상을 만드는 처리방법입니다.

 
 덧셈연산 ->    변환이미지[X][Y] = 원래이미지[X][Y] + 상수값
 뺄셈연산 ->    변환이미지[X][Y] = 원래이미지[X][Y] - 상수값
 곱셈연산 ->    변환이미지[X][Y] = 원래이미지[X][Y] * 상수값
 나눗셈연산 -> 변환이미지[X][Y] = 원래이미지[X][Y] / 상수값

 그리 어렵지는 않습니다만,  결과와 함께 이야기를 자세히 풀어보겠습니다.
 이미지는 그 유명한 Lena를 사용하였습니다.

  밝아지기 위한 이미지 산술연산

      1. 더하기

원본

+60



 다음 이미지는  Lena의 원본이미지와 더하기 산술연산을 한 결과 이미지 입니다.
 원본 영상에 비해 전체적으로 밝아진것을 확인 할 수 있습니다.

     2. 곱하기
 

원본

*4



 다음 이미지는 Lena의 원본이미지와 곱셈산술연산을 한 이미지 입니다.
 역시 원본 영상에 비해 밝아진 것을 확인 할 수 있습니다만
 더하기 산술연산과의 차이는 역시 약간의 차이를 확인 할 수 있습니다.

 더하기 산술연산의 경우 모든 영상 데이터를 일정한 값만큼 증가시키는데 반해서 
 곱하기 산술연산의 경우는 원래 작은값은 작게증가하고 큰값은 더 크게 증가시켜서
 밝기의 대비 (constrast)를 키워지는 효과가 있습니다.
 그렇기 때문에 영상의 가시화가 더 좋아지는 것을 확인할 수 있습니다.
 

어두워 지기 위한 산술연산

   1. 빼기

원본

-60



 다음 이미지는  Lena의 원본이미지와 빼기 산술연산을 한 결과 이미지 입니다.
 원본 영상에 비해 전체적으로 어두워것을 확인 할 수 있습니다.

   2. 나누기


 다음 이미지는 Lena의 원본이미지와 나누기산술연산을 한 이미지 입니다.
 역시 원본 영상에 비해 어두워진 것을 확인 할 수 있습니다만
 빼기 산술연산과의 차이는 역시 약간의 차이를 확인 할 수 있습니다.

 위의 밝아진 영상과 반대로
 빼기 산술연산의 경우 모든 영상 데이터를 일정한 값만큼 감소시키는데 반해서 
 나누기 산술연산의 경우는 원래 작은값은 작게감소하고 큰값은 더 크게 감소시켜서
 영상의 가시화가 더 떨어지는 것을 확인할 수 있습니다.


코드는 다음과 같습니다.
C#을 이용하여 구현하였지만, 크게 무리 없이 이해가능할 것이라고 생각합니다.