1
이미지 처리를 위해 EMGU (opencv wrapper)를 사용하고 있습니다. 이미지를 폴더에서 하나씩로드하여 일부 작업을 수행하려고합니다. 다음 코드를 사용하여 using 블록에서 일부 작업을 수행합니다.EMGU에서 이미지를 올바르게 처리
string[] filenames = Directory.GetFiles(directory);
foreach(string filename in filenames)
{
using (Image<Bgr, Byte> image = new Image<Bgr, byte>(filename))
{
}
}
그러나 코드를 실행할 때 주소 지정 또는 메모리 부족과 관련하여 예외가 발생할 때까지 응용 프로그램이 늘어나는 메모리 덩어리를 사용합니다.
어떤 조언이 필요합니까?
예, 문제 인 것 같습니다. 부주의로 만들어진 사본을 올바르게 폐기했는지 확인해야했습니다. 가비지 컬렉터가 처리해야합니까? – Christo
GC는 관리 객체를 처리하지만 EmguCV는 관리되지 않는 API를 감싸는 래퍼 일뿐입니다. 즉 누수되는 메모리입니다. – dahlbyk