From 4232ace376f6b6fd9df846d5c362d93a0e5eec16 Mon Sep 17 00:00:00 2001
From: AlexeyAB <alexeyab84@gmail.com>
Date: Fri, 04 May 2018 15:37:33 +0000
Subject: [PATCH] Fix webcam memory leak

---
 src/image.c                   |    1 +
 build/darknet/x64/partial.cmd |    3 +++
 src/http_stream.cpp           |    2 +-
 3 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/build/darknet/x64/partial.cmd b/build/darknet/x64/partial.cmd
index 9b12bae..5625552 100644
--- a/build/darknet/x64/partial.cmd
+++ b/build/darknet/x64/partial.cmd
@@ -18,6 +18,9 @@
 darknet.exe partial cfg/yolov2.cfg yolov2.weights yolov2.conv.23 23
 
 
+darknet.exe partial cfg/yolov3.cfg yolov3.weights yolov3.conv.105 105
+
+
 darknet.exe partial cfg/yolo9000.cfg yolo9000.weights yolo9000.conv.22 22
 
 
diff --git a/src/http_stream.cpp b/src/http_stream.cpp
index 5ae8f78..5449192 100644
--- a/src/http_stream.cpp
+++ b/src/http_stream.cpp
@@ -217,7 +217,7 @@
 		cv::Mat frame;
 		if (cpp_cap.isOpened()) {
 			cpp_cap >> frame;
-			src = cvCreateImage(cvSize(frame.cols, frame.rows), 8, frame.channels());
+			src = cvCreateImageHeader(cvSize(frame.cols, frame.rows), 8, frame.channels());
 			*src = frame;
 		}
 	}
diff --git a/src/image.c b/src/image.c
index a02e900..b5328e5 100644
--- a/src/image.c
+++ b/src/image.c
@@ -917,6 +917,7 @@
 	cvResize(src, new_img, CV_INTER_LINEAR);
 	image im = ipl_to_image(new_img);
 	cvReleaseImage(&new_img);
+	if (use_webcam) cvReleaseImageHeader(&src);
 	rgbgr_image(im);
 	return im;
 }

--
Gitblit v1.10.0