[VB.NET] 차근차근 OpenCVSharp 강좌 - 10. 픽셀 곱하기 / 나누기

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

픽셀 값을 곱하거나 나누는건 무슨 의미가 있을까? 사실 크게 어떤 의미를 찾지는 못하겠다. 웬지 구색 갖추기용이 아닌가 하는 느낌적인 느낌이 든다. 암튼 기능을 지원하니 일단 만들어보자.

메인폼에 버튼 추가 - Name : ButtonMultiply, Text : Multiply

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

Private Sub ButtonMultiply_Click(sender As Object, e As EventArgs) Handles ButtonMultiply.Click
    Dim org As New Mat("D:\test\chipmunk.jpg", ImreadModes.Color), dst As New Mat
    Dim val As New Mat(org.Size(), MatType.CV_8UC3, New Scalar(1, 30, 1))
    Cv2.Multiply(org, val, dst)
    PictureBoxOrg.Image = org.ToBitmap : PictureBoxDst.Image = dst.ToBitmap
End Sub

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

OpenCVSharp - 픽셀 곱하기

뭐... 결과가 나오기는 했지만 영 맘에 안든다. 그럼 나누기는 어떨까? 위 Multiply 함수를 Divide로만 바꾸고 다시 실행해서 결과를 확인하자.

OpenCVSharp - 픽셀 나누기

이것도 그닥... 결과가 맘에 안든다는건 스칼라값의 수치를 제대로 못맞췄다고도 볼수가 있을것 같다. 암튼 이래 저래 이미지의 각 픽셀값을 곱하고 나누는건 그냥 이런 기능이 있구나~ 정도로 생각하고 넘어가도 별 무리가 없을듯 하다.

반응형