From a284a7da8d1facbf984a22302665a2a50295a687 Mon Sep 17 00:00:00 2001
From: AlexeyAB <alexeyab84@gmail.com>
Date: Wed, 08 Aug 2018 16:08:58 +0000
Subject: [PATCH] Try to use avx_hs() - slow and requires alignment 4096 bits < (l.size*l.size*l.c) May be faster only from 8192 bits and more.
---
src/image.c | 31 ++++++++++++++++++-------------
1 files changed, 18 insertions(+), 13 deletions(-)
diff --git a/src/image.c b/src/image.c
index 4807371..7cf3dc0 100644
--- a/src/image.c
+++ b/src/image.c
@@ -102,7 +102,7 @@
if(a.w == 0) return copy_image(b);
image c = make_image(a.w + b.w + dx, (a.h > b.h) ? a.h : b.h, (a.c > b.c) ? a.c : b.c);
fill_cpu(c.w*c.h*c.c, 1, c.data, 1);
- embed_image(a, c, 0, 0);
+ embed_image(a, c, 0, 0);
composite_image(b, c, a.w + dx, 0);
return c;
}
@@ -267,7 +267,7 @@
return delta < 0 ? -1 : delta > 0 ? 1 : 0;
}
-// compare to sort detection** by best_class probability
+// compare to sort detection** by best_class probability
int compare_by_probs(const void *a_ptr, const void *b_ptr) {
const detection_with_class* a = (detection_with_class*)a_ptr;
const detection_with_class* b = (detection_with_class*)b_ptr;
@@ -421,7 +421,7 @@
if(top < 0) top = 0;
if(bot > im.h-1) bot = im.h-1;
printf("%s: %.0f%%", names[class_id], prob * 100);
-
+
//printf(" - id: %d, x_center: %d, y_center: %d, width: %d, height: %d",
// class_id, (right + left) / 2, (bot - top) / 2, right - left, bot - top);
@@ -481,6 +481,10 @@
rgb[1] = green;
rgb[2] = blue;
box b = dets[i].bbox;
+ b.w = (b.w < 1) ? b.w : 1;
+ b.h = (b.h < 1) ? b.h : 1;
+ b.x = (b.x < 1) ? b.x : 1;
+ b.y = (b.y < 1) ? b.y : 1;
//printf("%f %f %f %f\n", b.x, b.y, b.w, b.h);
int left = (b.x - b.w / 2.)*show_img->width;
@@ -535,10 +539,11 @@
cvRectangle(show_img, pt1, pt2, color, width, 8, 0);
if (ext_output)
- printf("\t(left_x: %4.0f top_y: %4.0f width: %4.0f height: %4.0f)\n",
+ printf("\t(left_x: %4.0f top_y: %4.0f width: %4.0f height: %4.0f)\n",
(float)left, (float)top, b.w*show_img->width, b.h*show_img->height);
else
printf("\n");
+
cvRectangle(show_img, pt_text_bg1, pt_text_bg2, color, width, 8, 0);
cvRectangle(show_img, pt_text_bg1, pt_text_bg2, color, CV_FILLED, 8, 0); // filled
CvScalar black_color;
@@ -617,7 +622,7 @@
CvScalar black_color;
black_color.val[0] = 0;
CvFont font;
- cvInitFont(&font, CV_FONT_HERSHEY_SIMPLEX, font_size, font_size, 0, font_size * 3, 8);
+ cvInitFont(&font, CV_FONT_HERSHEY_SIMPLEX, font_size, font_size, 0, font_size * 3, 8);
cvPutText(show_img, names[class_id], pt_text, &font, black_color);
}
}
@@ -881,7 +886,7 @@
IplImage *disp = cvCreateImage(cvSize(p.w,p.h), IPL_DEPTH_8U, p.c);
int step = disp->widthStep;
- cvNamedWindow(buff, CV_WINDOW_NORMAL);
+ cvNamedWindow(buff, CV_WINDOW_NORMAL);
//cvMoveWindow(buff, 100*(windows%10) + 200*(windows/10), 100*(windows%10));
++windows;
for(y = 0; y < p.h; ++y){
@@ -1057,7 +1062,7 @@
}
else src = cvQueryFrame(cap);
- if (cpp_video_capture)
+ if (cpp_video_capture)
if(!wait_for_stream(cap, src, dont_close)) return make_empty_image(0, 0, 0);
IplImage* new_img = cvCreateImage(cvSize(w, h), IPL_DEPTH_8U, c);
*in_img = cvCreateImage(cvSize(src->width, src->height), IPL_DEPTH_8U, c);
@@ -1588,7 +1593,7 @@
for(k = 0; k < fore.c; ++k){
for(j = 0; j < fore.h; ++j){
for(i = 0; i < fore.w; ++i){
- float val = alpha * get_pixel(fore, i, j, k) +
+ float val = alpha * get_pixel(fore, i, j, k) +
(1 - alpha)* get_pixel(back, i, j, k);
set_pixel(blend, i, j, k, val);
}
@@ -1708,8 +1713,8 @@
float dx = x - ix;
float dy = y - iy;
- float val = (1-dy) * (1-dx) * get_pixel_extend(im, ix, iy, c) +
- dy * (1-dx) * get_pixel_extend(im, ix, iy+1, c) +
+ float val = (1-dy) * (1-dx) * get_pixel_extend(im, ix, iy, c) +
+ dy * (1-dx) * get_pixel_extend(im, ix, iy+1, c) +
(1-dy) * dx * get_pixel_extend(im, ix+1, iy, c) +
dy * dx * get_pixel_extend(im, ix+1, iy+1, c);
return val;
@@ -1717,7 +1722,7 @@
image resize_image(image im, int w, int h)
{
- image resized = make_image(w, h, im.c);
+ image resized = make_image(w, h, im.c);
image part = make_image(w, im.h, im.c);
int r, c, k;
float w_scale = (float)(im.w - 1) / (w - 1);
@@ -1931,7 +1936,7 @@
free_image(copy);
}
return filters;
-}
+}
image collapse_images_horz(image *ims, int n)
{
@@ -1967,7 +1972,7 @@
free_image(copy);
}
return filters;
-}
+}
void show_image_normalized(image im, const char *name)
{
--
Gitblit v1.10.0