mirror of https://github.com/AlexeyAB/darknet.git
Increased speed of darknet.py. Fixed functions related to resize_image().
This commit is contained in:
parent
5e3dcb6f34
commit
a0e288f0dc
55
src/image.c
55
src/image.c
|
@ -37,6 +37,35 @@ float get_color(int c, int x, int max)
|
|||
return r;
|
||||
}
|
||||
|
||||
static float get_pixel(image m, int x, int y, int c)
|
||||
{
|
||||
assert(x < m.w && y < m.h && c < m.c);
|
||||
return m.data[c*m.h*m.w + y*m.w + x];
|
||||
}
|
||||
static float get_pixel_extend(image m, int x, int y, int c)
|
||||
{
|
||||
if (x < 0 || x >= m.w || y < 0 || y >= m.h) return 0;
|
||||
/*
|
||||
if(x < 0) x = 0;
|
||||
if(x >= m.w) x = m.w-1;
|
||||
if(y < 0) y = 0;
|
||||
if(y >= m.h) y = m.h-1;
|
||||
*/
|
||||
if (c < 0 || c >= m.c) return 0;
|
||||
return get_pixel(m, x, y, c);
|
||||
}
|
||||
static void set_pixel(image m, int x, int y, int c, float val)
|
||||
{
|
||||
if (x < 0 || y < 0 || c < 0 || x >= m.w || y >= m.h || c >= m.c) return;
|
||||
assert(x < m.w && y < m.h && c < m.c);
|
||||
m.data[c*m.h*m.w + y*m.w + x] = val;
|
||||
}
|
||||
static void add_pixel(image m, int x, int y, int c, float val)
|
||||
{
|
||||
assert(x < m.w && y < m.h && c < m.c);
|
||||
m.data[c*m.h*m.w + y*m.w + x] += val;
|
||||
}
|
||||
|
||||
void composite_image(image source, image dest, int dx, int dy)
|
||||
{
|
||||
int x,y,k;
|
||||
|
@ -1641,32 +1670,6 @@ image get_image_layer(image m, int l)
|
|||
return out;
|
||||
}
|
||||
|
||||
float get_pixel(image m, int x, int y, int c)
|
||||
{
|
||||
assert(x < m.w && y < m.h && c < m.c);
|
||||
return m.data[c*m.h*m.w + y*m.w + x];
|
||||
}
|
||||
float get_pixel_extend(image m, int x, int y, int c)
|
||||
{
|
||||
if(x < 0) x = 0;
|
||||
if(x >= m.w) x = m.w-1;
|
||||
if(y < 0) y = 0;
|
||||
if(y >= m.h) y = m.h-1;
|
||||
if(c < 0 || c >= m.c) return 0;
|
||||
return get_pixel(m, x, y, c);
|
||||
}
|
||||
void set_pixel(image m, int x, int y, int c, float val)
|
||||
{
|
||||
if (x < 0 || y < 0 || c < 0 || x >= m.w || y >= m.h || c >= m.c) return;
|
||||
assert(x < m.w && y < m.h && c < m.c);
|
||||
m.data[c*m.h*m.w + y*m.w + x] = val;
|
||||
}
|
||||
void add_pixel(image m, int x, int y, int c, float val)
|
||||
{
|
||||
assert(x < m.w && y < m.h && c < m.c);
|
||||
m.data[c*m.h*m.w + y*m.w + x] += val;
|
||||
}
|
||||
|
||||
void print_image(image m)
|
||||
{
|
||||
int i, j, k;
|
||||
|
|
|
@ -77,10 +77,10 @@ image load_image(char *filename, int w, int h, int c);
|
|||
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);
|
||||
|
|
Loading…
Reference in New Issue