Joseph Redmon
2016-05-06 c7b10ceadb1a78e7480d281444a31ae2a7dc1b05
src/image.c
@@ -110,6 +110,7 @@
        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);
@@ -142,15 +143,15 @@
    assert(im.w == im.h);
    int n, m;
    int c;
        for(c = 0; c < im.c; ++c){
            for(n = 0; n < im.w-1; ++n){
                for(m = n + 1; m < im.w; ++m){
                    float swap = im.data[m + im.w*(n + im.h*c)];
                    im.data[m + im.w*(n + im.h*c)] = im.data[n + im.w*(m + im.h*c)];
                    im.data[n + im.w*(m + im.h*c)] = swap;
                }
    for(c = 0; c < im.c; ++c){
        for(n = 0; n < im.w-1; ++n){
            for(m = n + 1; m < im.w; ++m){
                float swap = im.data[m + im.w*(n + im.h*c)];
                im.data[m + im.w*(n + im.h*c)] = im.data[n + im.w*(m + im.h*c)];
                im.data[n + im.w*(m + im.h*c)] = swap;
            }
        }
    }
}
void rotate_image_cw(image im, int times)
@@ -511,6 +512,7 @@
            w = (w * min) / h;
            h = min;
        }
        if(w == im.w && h == im.h) return im;
        image resized = resize_image(im, w, h);
        return resized;
    }
@@ -523,13 +525,7 @@
        int dy = rand_int(0, resized.h - size);
        image crop = crop_image(resized, dx, dy, size, size);
        /*
           show_image(im, "orig");
           show_image(crop, "cropped");
           cvWaitKey(0);
         */
        free_image(resized);
        if(resized.data != im.data) free_image(resized);
        return crop;
    }
@@ -676,6 +672,17 @@
        }
    }
    image binarize_image(image im)
    {
        image c = copy_image(im);
        int i;
        for(i = 0; i < im.w * im.h * im.c; ++i){
            if(c.data[i] > .5) c.data[i] = 1;
            else c.data[i] = 0;
        }
        return c;
    }
    void saturate_image(image im, float sat)
    {
        rgb_to_hsv(im);
@@ -798,6 +805,8 @@
        image exp5 = copy_image(im);
        exposure_image(exp5, .5);
        image bin = binarize_image(im);
#ifdef GPU
        image r = resize_image(im, im.w, im.h);
        image black = make_image(im.w*2 + 3, im.h*2 + 3, 9);
@@ -817,7 +826,8 @@
        show_image(black2, "Recreate");
#endif
        show_image(im, "Original");
        show_image(im,   "Original");
        show_image(bin,  "Binary");
        show_image(gray, "Gray");
        show_image(sat2, "Saturation-2");
        show_image(sat5, "Saturation-.5");