[VB.NET] 차근차근 OpenCVSharp 강좌 - 7. 자르기

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

메인폼에 버튼 추가 - Name : ButtonClip, Text : Clip

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

Private Sub ButtonClip_Click(sender As Object, e As EventArgs) Handles ButtonClip.Click
   Dim org As New Mat("D:\test\chipmunk.jpg", ImreadModes.Color)
   Dim dst As Mat = org.SubMat(New Rect(600, 600, 600, 600))
   PictureBoxOrg.Image = org.ToBitmap : PictureBoxDst.Image = dst.ToBitmap
End Sub

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

OpenCVSharp - 이미지 자르기

Line 1 : Dim org As New Mat("D:\test\chipmunk.jpg", ImreadModes.Color)

원본 이미지 선언

Line 2 : Dim dst As Mat = org.SubMat(New Rect(600, 600, 600, 600))

이미지 자르기는 이전 효과들과 다르게 Cv2 클래스가 아닌 org 매트릭스에서 제공하는 함수를 사용한다. OpenCVSharp을 사용하다보면 궂이 이걸 이렇게 써야되나? 싶은 기능들이 있는데 뭐 제공해준대로 사용해야지 딱히 다른 방도가 있나 싶기는 하다.
SubMat 함수의 파라미터로 Rect를 사용해서 지정된 사각형만큼 잘라내면 된다. 이렇게 잘라낸 이미지를 dst에 넣어주는 함수이다.

Line 3 : PictureBoxOrg.Image = org.ToBitmap : PictureBoxDst.Image = dst.ToBitmap

최종 결과를 화면에 뿌려주면 자르기는 마무리가 된다. OpenCVSharp이 지원하는 기능이 너무 많으니 이렇게 하나씩 하나씩 지치지 말고 차분히 알아가도록 하자.

반응형