로딩
요청 처리 중입니다...

[C#] OpenCvSharp ImRead 메모리 누수, 메모리 증가 문제 해결

 [C#] OpenCvSharp ImRead 메모리 누수, 메모리 증가 문제 해결

OpenCvSharp을 이용하던 중 for, foreach문을 이용해 이미지를 여러번 불러오다 보면 프로그램의 메모리가 증가하는 현상이 있습니다. 제목에 메모리 누수라고 썼긴 하지만 메모리 누수는 아니고 Garbage Collector가 해당 메모리를 수거해가지 않아서 발생하는 것 같았습니다.

이때 Release() 메소드를 이용하여 간단하게 해결할 수 있었습니다. 해결방법 요약 for, foreach문 끝에 ImRead를 이용해 입력받은 이미지에 Release 메소드를 사용하자. var files = Directory.EnumerateFiles(folder); foreach (string file in files) { ...

Mat img = Cv2.ImRead(file, ImreadModes.Unchanged); ... img.Release(); // ImRead로 입력받은 이미지를 Release해주자 } 기존 코드 var files = Directory.EnumerateFile...

# Csharp # ImRead # OpenCV # OpenCvSharp # 메모리누수 # 메모리증가 # 영상처리