From a720bf74e233c956e5281871ede722a2c7cf54db Mon Sep 17 00:00:00 2001
From: AlexeyAB <alexeyab84@gmail.com>
Date: Mon, 21 May 2018 21:15:04 +0000
Subject: [PATCH] Added flag -ext_output for detector demo. Fixed proportional resize of network for random=1

---
 src/utils.c |   48 ++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 44 insertions(+), 4 deletions(-)

diff --git a/src/utils.c b/src/utils.c
index 05ad885..d9d796e 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -7,13 +7,24 @@
 #include <limits.h>
 #ifdef WIN32
 #include "unistd.h"
+#include "gettimeofday.h"
 #else
 #include <unistd.h>
+#include <sys/time.h>
 #endif
 #include "utils.h"
 
 #pragma warning(disable: 4996)
 
+double what_time_is_it_now()
+{
+	struct timeval time;
+	if (gettimeofday(&time, NULL)) {
+		return 0;
+	}
+	return (double)time.tv_sec + (double)time.tv_usec * .000001;
+}
+
 int *read_map(char *filename)
 {
     int n = 0;
@@ -126,6 +137,7 @@
     {
         c = next+1;
     }
+	if(!next) while ((next = strchr(c, '\\'))) { c = next + 1; }
     c = copy_string(c);
     next = strchr(c, '.');
     if (next) *next = 0;
@@ -171,6 +183,21 @@
     sprintf(output, "%s%s%s", buffer, rep, p+strlen(orig));
 }
 
+void replace_image_to_label(char *input_path, char *output_path) {
+	find_replace(input_path, "images", "labels", output_path);
+	find_replace(output_path, "JPEGImages", "labels", output_path);
+	find_replace(output_path, ".jpg", ".txt", output_path);
+	find_replace(output_path, ".JPG", ".txt", output_path);
+	find_replace(output_path, ".jpeg", ".txt", output_path);
+	find_replace(output_path, ".JPEG", ".txt", output_path);
+	find_replace(output_path, ".png", ".txt", output_path);
+	find_replace(output_path, ".PNG", ".txt", output_path);
+	find_replace(output_path, ".bmp", ".txt", output_path);
+	find_replace(output_path, ".BMP", ".txt", output_path);
+	find_replace(output_path, ".ppm", ".txt", output_path);
+	find_replace(output_path, ".PPM", ".txt", output_path);
+}
+
 float sec(clock_t clocks)
 {
     return (float)clocks/CLOCKS_PER_SEC;
@@ -196,19 +223,19 @@
 {
     perror(s);
     assert(0);
-    exit(-1);
+    exit(EXIT_FAILURE);
 }
 
 void malloc_error()
 {
     fprintf(stderr, "Malloc error\n");
-    exit(-1);
+    exit(EXIT_FAILURE);
 }
 
 void file_error(char *s)
 {
     fprintf(stderr, "Couldn't open file: %s\n", s);
-    exit(0);
+    exit(EXIT_FAILURE);
 }
 
 list *split_str(char *s, char delim)
@@ -285,7 +312,11 @@
         fgets(&line[curr], readsize, fp);
         curr = strlen(line);
     }
-    if(line[curr-1] == '\n') line[curr-1] = '\0';
+	if(curr >= 2)
+		if(line[curr-2] == 0x0d) line[curr-2] = 0x00;
+
+	if(curr >= 1)
+		if(line[curr-1] == 0x0a) line[curr-1] = 0x00;
 
     return line;
 }
@@ -543,6 +574,15 @@
     return max_i;
 }
 
+int int_index(int *a, int val, int n)
+{
+	int i;
+	for (i = 0; i < n; ++i) {
+		if (a[i] == val) return i;
+	}
+	return -1;
+}
+
 int rand_int(int min, int max)
 {
     if (max < min){

--
Gitblit v1.10.0