[VB.NET] 차근차근 OpenCVSharp 강좌 - 12. 픽셀 절대값 / 절대값의 차이

2023. 1. 24. 09:00VB.NET/OpenCVSharp

절대값은 사실 그 자체만으로는 별 의미가 없지 싶다. 어차피 픽셀값이라는게 0~255까지니 음수는 존재하지 않는다. 다만 절대값의 차이는 좀 다르겠다. 절대값끼리의 뺄셈정도의 개념으로 생각해야 될까? 하여튼 이것도 그냥 이런게 있다 정도로 넘어가도 될듯 하지만 구현은 해보자.

 

메인폼에 버튼 추가 - Name : ButtonAbs, Text : Abs

 

버튼클릭 이벤트에 아래 소스를 추가해서 확인해보자.

Private Sub ButtonAbs_Click(sender As Object, e As EventArgs) Handles ButtonAbs.Click
    Dim org As New Mat("D:\test\chipmunk.jpg", ImreadModes.Color), dst As Mat
    dst = Cv2.Abs(org)
    PictureBoxOrg.Image = org.ToBitmap : PictureBoxDst.Image = dst.ToBitmap
End Sub

프로젝트 실행후 Abs 버튼을 누르면 아래 화면과 같이 결과가 나와야 성공

OpenCVSharp - 픽셀 절대값

앞에 언급했지만 당연히 둘이 똑같다. 똑같을 수 밖에 없는게 양수를 절대값으로 표현해봐야 양수가 나오니까. 절대값은 뺄셈같은 다른 연산과 같이 사용해야 그 빛을 발할 수 있을 것으로 보인다. 결과가 음수가 나와줘야 절대값이 의미가 있을테니까.

 

그러면 절대값의 차이는 어떨까? 그냥 뺄셈이랑 동일하지 않을까? 이것 역시 다른 연산과 같이 사용해야 하는 함수인듯 싶다. 함수명은 Absdiff이니 위 소스를 응용해서 다양하게 만져보면 되겠다. 어렵지 않으니 이번 강좌에서 따로 설명은 건너뛰도록 하자.

 

반응형