덧셈 연산

dst( x, y ) = saturate(src1( x, y ) + src2( x, y ))

덧셈 연산은 두 이미지의 같은 위치에 존재하는 픽셀 값을 더해 결과 영상의 픽셀 값으로 설정하는 연산을 말한다. 덧셈결과가 픽셀의 표현범위 보다 크면 특정 픽셀 값으로 설정한다. 예를 들면 픽셀이 0~255으로 표현되는데 두 픽셀의 값을 더한 결과가 255를 초과하는 경우 255로 설정한다. 이를 포화 연산(saturate)라고 한다.

예제코드를 살펴보자.

val src1:Mat = ...
val src2:Mat = ...
val dst = Mat()
Core.add(src1, src2, dst)

두 이미지 src1, src2 더한 결과를 dst에 담는다. 여기서 src1,src2는 이미지의 크기가 같은 것으로 가정한다.

두 이미지 픽셀의 값을 더하는 연산을 했기 때문에 전체적으로 이미지가 밝아진 것을 알 수 있다.

add함수에는 src2 대신 스칼라 값을 매개변수로 하여 src1 전체 픽셀에 해당 스칼라값을 더할 수도 있고(이미지 밝기 조절 포스팅 참고), 마스크를 매개변수로 전달하여 마스킹 된 부분만 연산을 진행할 수도 있다.

 

카테고리: OpenCV

0개의 댓글

답글 남기기

Avatar placeholder

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.