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
#
메모리누수
#
메모리증가
#
영상처리