2023. 1. 23. 09:11ㆍVB.NET/OpenCVSharp
OpenCVSharp을 만지다보면 가끔 이런 생각이 들때가 있다. 이런 기능까지도 구현을 해놨다고? 궂이? 뭐... 이런생각을 하게 만든 함수에 이번 강좌의 픽셀 최대값 / 최소값도 포함된다. 하지만, 내가 세상을 다 아는건 아니니 누군가에게는 절실한 기능일 수도 있겠지. 암튼 픽셀 최대값 / 최소값은 말 그대로 두개의 이미지를 병합하면서 각 픽셀별로 더 높은 값으로 / 혹은 더 낮은 값으로 결과를 도출시키는 함수이다.
메인폼에 버튼 추가 - Name : ButtonMax, Text : Max
버튼클릭 이벤트에 아래 소스를 추가해서 확인해보자.
Private Sub ButtonMax_Click(sender As Object, e As EventArgs) Handles ButtonMax.Click
Dim org As New Mat("D:\test\chipmunk.jpg", ImreadModes.Color), dst As New Mat
Dim val As New Mat("D:\test\carnation.jpg", ImreadModes.Color)
Cv2.Max(org, val, dst)
PictureBoxOrg.Image = org.ToBitmap : PictureBoxDst.Image = dst.ToBitmap
End Sub
프로젝트 실행후 Max 버튼을 누르면 아래 화면과 같이 결과가 나와야 성공
최대값은 기존 서로다른 두개의 이미지에서 픽셀별 최대값만 취하는 방식이다보니 우리 눈에 보이는대로 진한 색들만 잘 나온다. 나름 결과가 맘에든다. 이미지가 깨지는게 아니고 둘 사이가 잘 조화되서 합성이 됐다.
그렇다면 최소값은 어떨까? 위 Line3에서 Max를 Min으로만 수정후 실행해보면 아래 화면과 같이 결과가 나온다.
OpenCVSharp으로 두개의 이미지를 합성하는건 아주 뛰어난 Output을 제공해준다. 계속 강조하지만 처리속도가 빠른게 제일 맘에 들고, 원하는대로 정확한 함수에 정확한 수치를 사용하면 아주 괜찮은 이미지 합성이 가능하다.
여기서도 당연히 서로다른 이미지를 합성할 수도 있고, 하나의 이미지에 하나의 픽셀 스칼라값을 합성해서 더 밝게, 혹은 더 어둡게 조절이 가능하니 참고하자.
'VB.NET > OpenCVSharp' 카테고리의 다른 글
[VB.NET] 차근차근 OpenCVSharp 강좌 - 13. 모자이크 처리 (0) | 2023.01.25 |
---|---|
[VB.NET] 차근차근 OpenCVSharp 강좌 - 12. 픽셀 절대값 / 절대값의 차이 (0) | 2023.01.24 |
[VB.NET] 차근차근 OpenCVSharp 강좌 - 10. 픽셀 곱하기 / 나누기 (0) | 2023.01.22 |
[VB.NET] 차근차근 OpenCVSharp 강좌 - 9. 픽셀 빼기 (0) | 2023.01.21 |
[VB.NET] 차근차근 OpenCVSharp 강좌 - 8. 픽셀 더하기 (0) | 2023.01.20 |