From 845ab7579685b6702c92c1088ec11e71bde51f3c Mon Sep 17 00:00:00 2001
From: Joseph Redmon <pjreddie@gmail.com>
Date: Fri, 05 Aug 2016 22:27:07 +0000
Subject: [PATCH] some more stuff
---
src/image.c | 73 ++++++++++++++++++++++--------------
1 files changed, 45 insertions(+), 28 deletions(-)
diff --git a/src/image.c b/src/image.c
index 92833df..fd890d0 100644
--- a/src/image.c
+++ b/src/image.c
@@ -109,14 +109,17 @@
int class = max_index(probs[i], classes);
float prob = probs[i][class];
if(prob > thresh){
- int width = pow(prob, 1./2.)*10+1;
- width = 8;
- printf("%s: %.2f\n", names[class], prob);
- int offset = class*17 % classes;
- float red = get_color(0,offset,classes);
+ //int width = pow(prob, 1./2.)*30+1;
+ int width = 8;
+ printf("%s: %.0f%%\n", names[class], prob*100);
+ int offset = class*1 % classes;
+ float red = get_color(2,offset,classes);
float green = get_color(1,offset,classes);
- float blue = get_color(2,offset,classes);
+ float blue = get_color(0,offset,classes);
float rgb[3];
+
+ //width = prob*20+2;
+
rgb[0] = red;
rgb[1] = green;
rgb[2] = blue;
@@ -344,27 +347,11 @@
#endif
}
- void save_image(image im, const char *name)
- {
- char buff[256];
- //sprintf(buff, "%s (%d)", name, windows);
- sprintf(buff, "%s.png", name);
- unsigned char *data = calloc(im.w*im.h*im.c, sizeof(char));
- int i,k;
- for(k = 0; k < im.c; ++k){
- for(i = 0; i < im.w*im.h; ++i){
- data[i*im.c+k] = (unsigned char) (255*im.data[i + k*im.w*im.h]);
- }
- }
- int success = stbi_write_png(buff, im.w, im.h, im.c, data, im.w*im.c);
- free(data);
- if(!success) fprintf(stderr, "Failed to write image %s\n", buff);
- }
-
#ifdef OPENCV
image get_image_from_stream(CvCapture *cap)
{
IplImage* src = cvQueryFrame(cap);
+ if (!src) return make_empty_image(0,0,0);
image im = ipl_to_image(src);
rgbgr_image(im);
return im;
@@ -372,7 +359,7 @@
#endif
#ifdef OPENCV
- void save_image_jpg(image p, char *name)
+ void save_image_jpg(image p, const char *name)
{
image copy = copy_image(p);
rgbgr_image(copy);
@@ -396,6 +383,28 @@
}
#endif
+ void save_image(image im, const char *name)
+ {
+ #ifdef OPENCV
+ save_image_jpg(im, name);
+ #else
+ char buff[256];
+ //sprintf(buff, "%s (%d)", name, windows);
+ sprintf(buff, "%s.png", name);
+ unsigned char *data = calloc(im.w*im.h*im.c, sizeof(char));
+ int i,k;
+ for(k = 0; k < im.c; ++k){
+ for(i = 0; i < im.w*im.h; ++i){
+ data[i*im.c+k] = (unsigned char) (255*im.data[i + k*im.w*im.h]);
+ }
+ }
+ int success = stbi_write_png(buff, im.w, im.h, im.c, data, im.w*im.c);
+ free(data);
+ if(!success) fprintf(stderr, "Failed to write image %s\n", buff);
+ #endif
+ }
+
+
void show_image_layers(image p, char *name)
{
int i;
@@ -535,7 +544,7 @@
return best;
}
-void composite_3d(char *f1, char *f2, char *out)
+void composite_3d(char *f1, char *f2, char *out, int delta)
{
if(!out) out = "out";
image a = load_image(f1, 0,0,0);
@@ -547,7 +556,7 @@
image c2 = crop_image(b, -10, shift, b.w, b.h);
float d2 = dist_array(c2.data, a.data, a.w*a.h*a.c, 100);
- if(d2 < d1){
+ if(d2 < d1 && 0){
image swap = a;
a = b;
b = swap;
@@ -558,7 +567,7 @@
printf("%d\n", shift);
}
- image c = crop_image(b, 0, shift, a.w, a.h);
+ image c = crop_image(b, delta, shift, a.w, a.h);
int i;
for(i = 0; i < c.w*c.h; ++i){
c.data[i] = a.data[i];
@@ -586,7 +595,15 @@
return resized;
}
-image random_crop_image(image im, int low, int high, int size)
+image random_crop_image(image im, int w, int h)
+{
+ int dx = rand_int(0, im.w - w);
+ int dy = rand_int(0, im.h - h);
+ image crop = crop_image(im, dx, dy, w, h);
+ return crop;
+}
+
+image random_resize_crop_image(image im, int low, int high, int size)
{
int r = rand_int(low, high);
image resized = resize_min(im, r);
--
Gitblit v1.10.0