From f0bc634a74b14ce4b0e065011390940d4d7a254c Mon Sep 17 00:00:00 2001 From: AlexeyAB Date: Mon, 5 Mar 2018 13:25:27 +0300 Subject: [PATCH] Fixed saving video file --- src/demo.c | 5 +++-- src/image.c | 4 +++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/demo.c b/src/demo.c index 0dce1443..376ddea9 100644 --- a/src/demo.c +++ b/src/demo.c @@ -233,7 +233,7 @@ void demo(char *cfgfile, char *weightfile, float thresh, int cam_index, const ch } // if you run it with param -http_port 8090 then open URL in your web-browser: http://localhost:8090 - if (http_stream_port > 0) { + if (http_stream_port > 0 && show_img) { //int port = 8090; int port = http_stream_port; int timeout = 200; @@ -242,10 +242,11 @@ void demo(char *cfgfile, char *weightfile, float thresh, int cam_index, const ch } // save video file - if (output_video_writer) { + if (output_video_writer && show_img) { cvWriteFrame(output_video_writer, show_img); printf("\n cvWriteFrame \n"); } + cvReleaseImage(&show_img); pthread_join(fetch_thread, 0); diff --git a/src/image.c b/src/image.c index e3edb7cd..16456ae0 100644 --- a/src/image.c +++ b/src/image.c @@ -318,11 +318,12 @@ IplImage* draw_train_chart(float max_img_loss, int max_batches, int number_of_li IplImage* img = cvCreateImage(cvSize(img_size, img_size), 8, 3); cvSet(img, CV_RGB(255, 255, 255), 0); CvPoint pt1, pt2, pt_text; - pt1.x = img_offset; pt2.x = img_size, pt_text.x = 10; CvFont font; cvInitFont(&font, CV_FONT_HERSHEY_COMPLEX_SMALL, 0.7, 0.7, 0, 1, CV_AA); char char_buff[100]; int i; + // vertical lines + pt1.x = img_offset; pt2.x = img_size, pt_text.x = 10; for (i = 1; i <= number_of_lines; ++i) { pt1.y = pt2.y = (float)i * draw_size / number_of_lines; cvLine(img, pt1, pt2, CV_RGB(224, 224, 224), 1, 8, 0); @@ -333,6 +334,7 @@ IplImage* draw_train_chart(float max_img_loss, int max_batches, int number_of_li cvLine(img, pt1, pt2, CV_RGB(128, 128, 128), 1, 8, 0); } } + // horizontal lines pt1.y = draw_size; pt2.y = 0, pt_text.y = draw_size + 15; for (i = 0; i <= number_of_lines; ++i) { pt1.x = pt2.x = img_offset + (float)i * draw_size / number_of_lines;