Emgu CV - утечки памяти (потребление памяти) - PullRequest
6 голосов
/ 16 мая 2010

Я использую EmguCV, оболочку OpenCV для .NET. Я удаляю все созданные объекты, но мое приложение все еще использует все больше и больше памяти (также в конфигурации выпуска). Я отладил свое приложение с помощью профилировщика памяти .NET и получил такой результат:

http://img532.imageshack.us/img532/2503/screenqv.png

количество экземпляров всех объектов колеблется, но счетчик экземпляров GChandle увеличивается до тех пор, пока мой компьютер не будет использоваться. Сборщик мусора не освобождает память (я думаю).

Я использую VS 2008 professional, Win7 prof 32-bit, как последнюю версию, так и последнюю стабильную версию emguCV.

Я могу опубликовать код приложения, если это поможет.

Спасибо и извините за мой английский. Martin

Ответы [ 2 ]

1 голос
/ 21 февраля 2011

Посмотрите на ссылку ниже о том, как сделать автоматический сбор мусора.
http://www.emgu.com/wiki/index.php/Working_with_Images
У меня была похожая проблема, и я начал улучшать свой код, используя различные рекомендации по ссылке выше.
С уважением
Шивам

0 голосов
/ 23 июля 2014
public static class IImageExtensions
{
    // http://stackoverflow.com/questions/20825497/difference-between-using-and-dispose-call-in-c-sharp 
    public static void FreeMem(this IImage image)
    {
        using (image)
        {
            using (image.Bitmap)
            {

            }
        }
        //image.Bitmap.Dispose();
        //image.Dispose();
    }
}
...