From 1b5afb45838e603fa6780762eb8cc59246dc2d81 Mon Sep 17 00:00:00 2001
From: IlyaOvodov <b@ovdv.ru>
Date: Tue, 08 May 2018 11:09:35 +0000
Subject: [PATCH] Output improvements for detector results: When printing detector results, output was done in random order, obfuscating results for interpreting. Now: 1. Text output includes coordinates of rects in (left,right,top,bottom in pixels) along with label and score 2. Text output is sorted by rect lefts to simplify finding appropriate rects on image 3. If several class probs are > thresh for some detection, the most probable is written first and coordinates for others are not repeated 4. Rects are imprinted in image in order by their best class prob, so most probable rects are always on top and not overlayed by less probable ones 5. Most probable label for rect is always written first Also: 6. Message about low GPU memory include required amount
---
src/image.h | 49 +++++++++++++++++++++++++------------------------
1 files changed, 25 insertions(+), 24 deletions(-)
diff --git a/src/image.h b/src/image.h
index ece7cb6..d047f62 100644
--- a/src/image.h
+++ b/src/image.h
@@ -8,14 +8,9 @@
#include <math.h>
#include "box.h"
-#ifdef OPENCV
-#include "opencv2/highgui/highgui_c.h"
-#include "opencv2/imgproc/imgproc_c.h"
-#endif
-
typedef struct {
- int h;
- int w;
+ int w;
+ int h;
int c;
float *data;
} image;
@@ -26,13 +21,21 @@
void draw_box_width(image a, int x1, int y1, int x2, int y2, int w, float r, float g, float b);
void draw_bbox(image a, box bbox, int w, float r, float g, float b);
void draw_label(image a, int r, int c, image label, const float *rgb);
-void draw_detections(image im, int num, float thresh, box *boxes, float **probs, char **names, image *labels, int classes);
+void write_label(image a, int r, int c, image *characters, char *string, float *rgb);
+void draw_detections(image im, int num, float thresh, box *boxes, float **probs, char **names, image **labels, int classes);
+void draw_detections_v3(image im, detection *dets, int num, float thresh, char **names, image **alphabet, int classes, int ext_output);
image image_distance(image a, image b);
void scale_image(image m, float s);
image crop_image(image im, int dx, int dy, int w, int h);
-image random_crop_image(image im, int low, int high, int size);
+image random_crop_image(image im, int w, int h);
+image random_augment_image(image im, float angle, float aspect, int low, int high, int size);
+void random_distort_image(image im, float hue, float saturation, float exposure);
image resize_image(image im, int w, int h);
+void fill_image(image m, float s);
+void letterbox_image_into(image im, int w, int h, image boxed);
+YOLODLL_API image letterbox_image(image im, int w, int h);
image resize_min(image im, int min);
+image resize_max(image im, int max);
void translate_image(image m, float s);
void normalize_image(image p);
image rotate_image(image m, float rad);
@@ -40,11 +43,13 @@
void embed_image(image source, image dest, int dx, int dy);
void saturate_image(image im, float sat);
void exposure_image(image im, float sat);
+void distort_image(image im, float hue, float sat, float val);
void saturate_exposure_image(image im, float sat, float exposure);
void hsv_to_rgb(image im);
-void rgbgr_image(image im);
+YOLODLL_API void rgbgr_image(image im);
void constrain_image(image im);
-void composite_3d(char *f1, char *f2, char *out);
+void composite_3d(char *f1, char *f2, char *out, int delta);
+int best_3d_shift_r(image a, image b, int min, int max);
image grayscale_image(image im);
image threshold_image(image im, float thresh);
@@ -55,36 +60,32 @@
void show_image(image p, const char *name);
void show_image_normalized(image im, const char *name);
+void save_image_png(image im, const char *name);
void save_image(image p, const char *name);
void show_images(image *ims, int n, char *window);
void show_image_layers(image p, char *name);
void show_image_collapsed(image p, char *name);
-#ifdef OPENCV
-void save_image_jpg(image p, char *name);
-image get_image_from_stream(CvCapture *cap);
-image ipl_to_image(IplImage* src);
-#endif
-
void print_image(image m);
-image make_image(int w, int h, int c);
+YOLODLL_API image make_image(int w, int h, int c);
image make_random_image(int w, int h, int c);
image make_empty_image(int w, int h, int c);
image float_to_image(int w, int h, int c, float *data);
image copy_image(image p);
image load_image(char *filename, int w, int h, int c);
-image load_image_color(char *filename, int w, int h);
+YOLODLL_API image load_image_color(char *filename, int w, int h);
+image **load_alphabet();
-float get_pixel(image m, int x, int y, int c);
-float get_pixel_extend(image m, int x, int y, int c);
-void set_pixel(image m, int x, int y, int c, float val);
-void add_pixel(image m, int x, int y, int c, float val);
+//float get_pixel(image m, int x, int y, int c);
+//float get_pixel_extend(image m, int x, int y, int c);
+//void set_pixel(image m, int x, int y, int c, float val);
+//void add_pixel(image m, int x, int y, int c, float val);
float bilinear_interpolate(image im, float x, float y, int c);
image get_image_layer(image m, int l);
-void free_image(image m);
+YOLODLL_API void free_image(image m);
void test_resize(char *filename);
#endif
--
Gitblit v1.10.0