VB.NET/OpenCVSharp(19)
-
[VB.NET] 차근차근 OpenCVSharp 강좌 - 19. Convert Color
OpenCVSharp은 여러가지 컬러 모드를 지원하며 바로바로 변환이 가능하다. 메인폼에 버튼 추가 - Name : ButtonCVColor, Text : CVColor 버튼클릭 이벤트에 아래 소스를 추가해서 확인해보자. Private Sub ButtonCVColor_Click(sender As Object, e As EventArgs) Handles ButtonCVColor.Click Dim org As New Mat("D:\test\ocean.jpg", ImreadModes.Color) Dim dst = org.CvtColor(ColorConversionCodes.BGR2GRAY) PictureBoxOrg.Image = org.ToBitmap : PictureBoxDst.Image = dst.ToBi..
2023.01.31 -
[VB.NET] 차근차근 OpenCVSharp 강좌 - 18. HSV
HSV는 색상(Hue), 채도(Saturation), 명도(Value)로 이미지를 분리하는걸 뜻한다. 보통 이미지를 분리할때 RGB나 CRMK등 이미지 자체의 관점으로 분리하는데 HSV는 이미지를 보는 인간의 관점으로 분리한다는 특징이 있다. 아래 원본 이미지를 이용해서 언덕위의 황토색만 인식해서 떼어내보자. 메인폼에 버튼 추가 - Name : ButtonHSV, Text : HSV 버튼클릭 이벤트에 아래 소스를 추가해서 확인해보자. Private Sub ButtonHSV_Click(sender As Object, e As EventArgs) Handles ButtonHSV.Click Dim org As New Mat("D:\test\ocean.jpg", ImreadModes.Color), hsv, ma..
2023.01.30 -
[VB.NET] 차근차근 OpenCVSharp 강좌 - 17. 이미지 윤곽선
이미지 윤곽선이란 각 이미지별 테두리 가장자리 라인을 구하는걸 뜻한다. 사람이 그림을 그릴때 처음으로 그리게 되는 대략적인 테두리를 의미한다고 보면 된다. 보통 이렇게 테두리를 따려고 할때는 그레이 이미지를 기준으로 한다. 이건 이전 강좌중 이진화때와 비슷한데 컬러이미지의 테두리를 바로 따게 되면 중간값들에서 원치 않는 결과가 나오기 때문에 일단 그레이로 변경 후 테두리를 따고 이 좌표를 이용해서 컬러이미지의 테두리를 구하게 된다. 이미지 윤곽선을 구하기 위해서는 현저하게 픽셀값이 변하는 지점을 찾아야 하는데 내부적으로 미분을 이용하고, 이에 따른 미분지수도 활용해야 한다. 일반적으로 너무 어렵기 때문에 이번 강좌에서는 종류와 결과만 알아보고 더 자세한 부분은 검색을 통해 알아보도록 하자. 메인폼에 버튼..
2023.01.29 -
[VB.NET] 차근차근 OpenCVSharp 강좌 - 16. 이미지 비트연산
이미지 비트연산은 각 컬러값을 이진수로 변환후 비트별 연산을 수행하게 된다. And, Or, Not, Xor 이렇게 네개의 연산자를 제공하며 각각 BitwiseAnd, BitwiseOr, BitwiseNot, BitwiseXor의 함수명으로 제공된다. 이번 강좌에서 비트연산에 대한 개념은 별도로 다루지 않으니 비트연산에 대해서 모르시는 분들은 검색해서 내용 숙지후 이 강좌를 봐주시기 바란다. 메인폼에 버튼 추가 - Name : ButtonBitwise, Text : Bitwise 버튼클릭 이벤트에 아래 소스를 추가해서 확인해보자. Private Sub ButtonBitwise_Click(sender As Object, e As EventArgs) Handles ButtonBitwise.Click Dim ..
2023.01.28 -
[VB.NET] 차근차근 OpenCVSharp 강좌 - 15. 이미지 위에 도형 그리기
이미지 위에 도형 그리는건 글씨 쓰는것 만큼이나 정말 빈번하게 사용되는 기능이다. CCTV를 분석하든, 얼굴 인식을 하든, 어떤 기능을 만들든 최종 사용자에게 그 기능의 결과를 보여주기 위해서는 도형을 적절하게 사용해야 한다. 그게 직선, 원, 타원, 삼각형, 사각형, 다각형 등 어떤 형태로 보여주는가의 차이만 있을뿐 결국은 이미지 위에 도형을 그려야 하는 상황은 늘 발생하니 이번 강좌도 유심히 살펴보도록 하자. 메인폼에 버튼 추가 - Name : ButtonPoly, Text : Poly 버튼클릭 이벤트에 아래 소스를 추가해서 확인해보자. Private Sub ButtonPoly_Click(sender As Object, e As EventArgs) Handles ButtonPoly.Click Dim ..
2023.01.27 -
[VB.NET] 차근차근 OpenCVSharp 강좌 - 14. 이미지 위에 글씨 쓰기
이미지 위에 글씨를 쓰는건 정말 빈번하게 사용하는 기능인 만큼 OpenCVSharp에서도 다양한 옵션과 기능을 제공하니 잘 알아두도록 하자. 이번 예제에서는 다람쥐 사진 위에 정말 간단하게 VB.NET이라는 글씨를 써볼꺼다. 그러면서 함수 설명시 글자색, 위치, 크기, 모양등 다양한 기능을 설명할 예정이니 하나씩 바꿔가면서 눈으로 결과를 꼭 확인하고 넘어가도록 하자. 메인폼에 버튼 추가 - Name : ButtonText, Text : Text 버튼클릭 이벤트에 아래 소스를 추가해서 확인해보자. Private Sub ButtonText_Click(sender As Object, e As EventArgs) Handles ButtonText.Click Dim org As New Mat("D:\test\ch..
2023.01.26