From b4553cfeaaccb4ed1f3aa0a678aec574f42e9707 Mon Sep 17 00:00:00 2001
From: Marcin Kmiec <bonzoq@wp.pl>
Date: Wed, 18 Oct 2017 12:56:03 +0000
Subject: [PATCH] Update README.md
---
src/image.c | 62 ++++++++++++++++++++++++++++---
1 files changed, 56 insertions(+), 6 deletions(-)
diff --git a/src/image.c b/src/image.c
index 9efe2f6..75364e1 100644
--- a/src/image.c
+++ b/src/image.c
@@ -518,7 +518,7 @@
}
-void show_image_cv_ipl(IplImage *disp, const char *name)
+void show_image_cv_ipl(IplImage *disp, const char *name, const char *out_filename)
{
if (disp == NULL) return;
char buff[256];
@@ -529,7 +529,7 @@
++windows;
cvShowImage(buff, disp);
-
+ if(out_filename)
{
CvSize size;
{
@@ -539,10 +539,14 @@
static CvVideoWriter* output_video = NULL; // cv::VideoWriter output_video;
if (output_video == NULL)
{
- const char* output_name = "test_dnn_out.avi";
- //output_video = cvCreateVideoWriter(output_name, CV_FOURCC('H', '2', '6', '4'), 25, size, 1);
- output_video = cvCreateVideoWriter(output_name, CV_FOURCC('D', 'I', 'V', 'X'), 25, size, 1);
- //output_video = cvCreateVideoWriter(output_name, CV_FOURCC('M', 'J', 'P', 'G'), 25, size, 1);
+ //const char* output_name = "test_dnn_out.avi";
+ //output_video = cvCreateVideoWriter(out_filename, CV_FOURCC('H', '2', '6', '4'), 25, size, 1);
+ output_video = cvCreateVideoWriter(out_filename, CV_FOURCC('D', 'I', 'V', 'X'), 25, size, 1);
+ //output_video = cvCreateVideoWriter(out_filename, CV_FOURCC('M', 'J', 'P', 'G'), 25, size, 1);
+ //output_video = cvCreateVideoWriter(out_filename, CV_FOURCC('M', 'P', '4', 'V'), 25, size, 1);
+ //output_video = cvCreateVideoWriter(out_filename, CV_FOURCC('M', 'P', '4', '2'), 25, size, 1);
+ //output_video = cvCreateVideoWriter(out_filename, CV_FOURCC('X', 'V', 'I', 'D'), 25, size, 1);
+ //output_video = cvCreateVideoWriter(out_filename, CV_FOURCC('W', 'M', 'V', '2'), 25, size, 1);
}
cvWriteFrame(output_video, disp); // comment this line to improve FPS !!!
@@ -879,6 +883,51 @@
#endif
}
+void fill_image(image m, float s)
+{
+ int i;
+ for (i = 0; i < m.h*m.w*m.c; ++i) m.data[i] = s;
+}
+
+void letterbox_image_into(image im, int w, int h, image boxed)
+{
+ int new_w = im.w;
+ int new_h = im.h;
+ if (((float)w / im.w) < ((float)h / im.h)) {
+ new_w = w;
+ new_h = (im.h * w) / im.w;
+ }
+ else {
+ new_h = h;
+ new_w = (im.w * h) / im.h;
+ }
+ image resized = resize_image(im, new_w, new_h);
+ embed_image(resized, boxed, (w - new_w) / 2, (h - new_h) / 2);
+ free_image(resized);
+}
+
+image letterbox_image(image im, int w, int h)
+{
+ int new_w = im.w;
+ int new_h = im.h;
+ if (((float)w / im.w) < ((float)h / im.h)) {
+ new_w = w;
+ new_h = (im.h * w) / im.w;
+ }
+ else {
+ new_h = h;
+ new_w = (im.w * h) / im.h;
+ }
+ image resized = resize_image(im, new_w, new_h);
+ image boxed = make_image(w, h, im.c);
+ fill_image(boxed, .5);
+ //int i;
+ //for(i = 0; i < boxed.w*boxed.h*boxed.c; ++i) boxed.data[i] = 0;
+ embed_image(resized, boxed, (w - new_w) / 2, (h - new_h) / 2);
+ free_image(resized);
+ return boxed;
+}
+
image resize_max(image im, int max)
{
int w = im.w;
@@ -1308,6 +1357,7 @@
#ifndef CV_VERSION_EPOCH
image out = load_image_stb(filename, c); // OpenCV 3.x
+ //image out = load_image_cv(filename, c);
#else
image out = load_image_cv(filename, c); // OpenCV 2.4.x
#endif
--
Gitblit v1.10.0