Darknet/YOLO v3.0-88-gdee7eef
Object Detection Framework
 
Loading...
Searching...
No Matches
image.cpp File Reference
Include dependency graph for image.cpp:

Macros

#define _GNU_SOURCE
 

Functions

static void add_pixel (image m, int x, int y, int c, float val)
 
int best_3d_shift (image a, image b, int min, int max)
 
int best_3d_shift_r (image a, image b, int min, int max)
 
float bilinear_interpolate (image im, float x, float y, int c)
 
image blend_image (image fore, image back, float alpha)
 
image border_image (image a, int border)
 
image collapse_image_layers (image source, int border)
 
image collapse_images_horz (image *ims, int n)
 
image collapse_images_vert (image *ims, int n)
 
int compare_by_lefts (const void *a_ptr, const void *b_ptr)
 
int compare_by_probs (const void *a_ptr, const void *b_ptr)
 
void composite_3d (char *f1, char *f2, char *out, int delta)
 
void composite_image (image source, image dest, int dx, int dy)
 
void constrain_image (image im)
 
image copy_image (image p)
 
void copy_image_from_bytes (image im, char *pdata)
 
void copy_image_inplace (image src, image dst)
 
image crop_image (image im, int dx, int dy, int w, int h)
 
void distort_image (image im, float hue, float sat, float val)
 
void draw_bbox (image a, box bbox, int w, float r, float g, float b)
 
void draw_box (image a, int x1, int y1, int x2, int y2, float r, float g, float b)
 
void draw_box_bw (image a, int x1, int y1, int x2, int y2, float brightness)
 
void draw_box_width (image a, int x1, int y1, int x2, int y2, int w, float r, float g, float b)
 
void draw_box_width_bw (image a, int x1, int y1, int x2, int y2, int w, float brightness)
 
void draw_detections (image im, int num, float thresh, box *boxes, float **probs, char **names, int classes)
 This is still called from a few isolated places, but you're probably looking for draw_detections_v3().
 
void draw_detections_v3 (image im, detection *dets, int num, float thresh, char **names, int classes, int ext_output)
 This is the function that is called to draw annotations on an image.
 
void draw_label (image a, int r, int c, image label, const float *rgb)
 
void draw_weighted_label (image a, int r, int c, image label, const float *rgb, const float alpha)
 
void embed_image (image source, image dest, int dx, int dy)
 
void fill_image (image m, float s)
 
void flip_image (image a)
 
image float_to_image (int w, int h, int c, float *data)
 
image float_to_image_scaled (int w, int h, int c, float *data)
 
void free_image (image m)
 
detection_with_classget_actual_detections (detection *dets, int dets_num, float thresh, int *selected_detections_num, char **names)
 Creates array of detections with prob > thresh and fills best_class for them Return number of selected detections in *selected_detections_num.
 
float get_color (int c, int x, int max)
 
image get_image_layer (image m, int l)
 
image get_label (image **characters, char *string, int size)
 
image get_label_v3 (image **characters, char *string, int size)
 
image get_opencv_label (const std::string &str, const int area)
 
static float get_pixel (image m, int x, int y, int c)
 
static float get_pixel_extend (image m, int x, int y, int c)
 
image grayscale_image (image im)
 
void hsv_to_rgb (image im)
 
image image_distance (image a, image b)
 
image letterbox_image (image im, int w, int h)
 
void letterbox_image_into (image im, int w, int h, image boxed)
 
image load_image (char *filename, int desired_width, int desired_height, int channels)
 Load the given image.
 
image make_attention_image (int img_size, float *original_delta_cpu, float *original_input_cpu, int w, int h, int c, float alpha)
 
image make_empty_image (int w, int h, int c)
 
image make_image (int w, int h, int c)
 
void make_image_red (image im)
 
image make_random_image (int w, int h, int c)
 
void normalize_image (image p)
 
void normalize_image2 (image p)
 
void print_image (image m)
 
void quantize_image (image im)
 
image random_augment_image (image im, float angle, float aspect, int low, int high, int size)
 
image random_crop_image (image im, int w, int h)
 
void random_distort_image (image im, float hue, float saturation, float exposure)
 
image resize_image (image im, int w, int h)
 
image resize_max (image im, int max)
 
image resize_min (image im, int min)
 
void rgb_to_hsv (image im)
 
void rgbgr_image (image im)
 
image rotate_crop_image (image im, float rad, float s, int w, int h, float dx, float dy, float aspect)
 
image rotate_image (image im, float rad)
 
void rotate_image_cw (image im, int times)
 
void save_image (image im, const char *name)
 
void save_image_jpg (image im, const char *name)
 
void save_image_options (image im, const char *name, IMTYPE f, int quality)
 
void save_image_png (image im, const char *name)
 
void scale_image (image m, float s)
 
void scale_image_channel (image im, int c, float v)
 
static void set_pixel (image m, int x, int y, int c, float val)
 
void show_image (image p, const char *name)
 
void show_image_collapsed (image p, char *name)
 
void show_image_layers (image p, char *name)
 
void show_image_normalized (image im, const char *name)
 
void show_images (image *ims, int n, const char *window)
 
void test_resize (char *filename)
 
float three_way_max (float a, float b, float c)
 
float three_way_min (float a, float b, float c)
 
image threshold_image (image im, float thresh)
 
image tile_images (image a, image b, int dx)
 
void translate_image (image m, float s)
 
void translate_image_channel (image im, int c, float v)
 
void transpose_image (image im)
 

Variables

float colors [6][3] = { {1,0,1}, {0,0,1},{0,1,1},{0,1,0},{1,1,0},{1,0,0} }
 

Macro Definition Documentation

◆ _GNU_SOURCE

#define _GNU_SOURCE

Function Documentation

◆ add_pixel()

static void add_pixel ( image  m,
int  x,
int  y,
int  c,
float  val 
)
static
Here is the caller graph for this function:

◆ best_3d_shift()

int best_3d_shift ( image  a,
image  b,
int  min,
int  max 
)
Here is the call graph for this function:

◆ best_3d_shift_r()

int best_3d_shift_r ( image  a,
image  b,
int  min,
int  max 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ bilinear_interpolate()

float bilinear_interpolate ( image  im,
float  x,
float  y,
int  c 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ blend_image()

image blend_image ( image  fore,
image  back,
float  alpha 
)
Here is the call graph for this function:

◆ border_image()

image border_image ( image  a,
int  border 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ collapse_image_layers()

image collapse_image_layers ( image  source,
int  border 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ collapse_images_horz()

image collapse_images_horz ( image ims,
int  n 
)

<

Todo:
#COLOR
Here is the call graph for this function:

◆ collapse_images_vert()

image collapse_images_vert ( image ims,
int  n 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ compare_by_lefts()

int compare_by_lefts ( const void *  a_ptr,
const void *  b_ptr 
)
Here is the caller graph for this function:

◆ compare_by_probs()

int compare_by_probs ( const void *  a_ptr,
const void *  b_ptr 
)
Here is the caller graph for this function:

◆ composite_3d()

void composite_3d ( char *  f1,
char *  f2,
char *  out,
int  delta 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ composite_image()

void composite_image ( image  source,
image  dest,
int  dx,
int  dy 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ constrain_image()

void constrain_image ( image  im)
Here is the caller graph for this function:

◆ copy_image()

image copy_image ( image  p)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ copy_image_from_bytes()

void copy_image_from_bytes ( image  im,
char *  pdata 
)

◆ copy_image_inplace()

void copy_image_inplace ( image  src,
image  dst 
)
Here is the caller graph for this function:

◆ crop_image()

image crop_image ( image  im,
int  dx,
int  dy,
int  w,
int  h 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ distort_image()

void distort_image ( image  im,
float  hue,
float  sat,
float  val 
)
Todo:
#COLOR - needs to be fixed for 1 <= c <= N
Here is the call graph for this function:
Here is the caller graph for this function:

◆ draw_bbox()

void draw_bbox ( image  a,
box  bbox,
int  w,
float  r,
float  g,
float  b 
)
Here is the call graph for this function:

◆ draw_box()

void draw_box ( image  a,
int  x1,
int  y1,
int  x2,
int  y2,
float  r,
float  g,
float  b 
)
Here is the caller graph for this function:

◆ draw_box_bw()

void draw_box_bw ( image  a,
int  x1,
int  y1,
int  x2,
int  y2,
float  brightness 
)
Here is the caller graph for this function:

◆ draw_box_width()

void draw_box_width ( image  a,
int  x1,
int  y1,
int  x2,
int  y2,
int  w,
float  r,
float  g,
float  b 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ draw_box_width_bw()

void draw_box_width_bw ( image  a,
int  x1,
int  y1,
int  x2,
int  y2,
int  w,
float  brightness 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ draw_detections()

void draw_detections ( image  im,
int  num,
float  thresh,
box boxes,
float **  probs,
char **  names,
int  classes 
)

This is still called from a few isolated places, but you're probably looking for draw_detections_v3().

Here is the call graph for this function:

◆ draw_detections_v3()

void draw_detections_v3 ( image  im,
detection dets,
int  num,
float  thresh,
char **  names,
int  classes,
int  ext_output 
)

This is the function that is called to draw annotations on an image.

Todo:
replace qsort() mid priority
Todo:
replace qsort() mid priority
Here is the call graph for this function:
Here is the caller graph for this function:

◆ draw_label()

void draw_label ( image  a,
int  r,
int  c,
image  label,
const float *  rgb 
)
Here is the call graph for this function:

◆ draw_weighted_label()

void draw_weighted_label ( image  a,
int  r,
int  c,
image  label,
const float *  rgb,
const float  alpha 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ embed_image()

void embed_image ( image  source,
image  dest,
int  dx,
int  dy 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ fill_image()

void fill_image ( image  m,
float  s 
)
Here is the caller graph for this function:

◆ flip_image()

void flip_image ( image  a)
Here is the caller graph for this function:

◆ float_to_image()

image float_to_image ( int  w,
int  h,
int  c,
float *  data 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ float_to_image_scaled()

image float_to_image_scaled ( int  w,
int  h,
int  c,
float *  data 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ free_image()

void free_image ( image  m)

◆ get_actual_detections()

detection_with_class * get_actual_detections ( detection dets,
int  dets_num,
float  thresh,
int *  selected_detections_num,
char **  names 
)

Creates array of detections with prob > thresh and fills best_class for them Return number of selected detections in *selected_detections_num.

Here is the caller graph for this function:

◆ get_color()

float get_color ( int  c,
int  x,
int  max 
)
Here is the caller graph for this function:

◆ get_image_layer()

image get_image_layer ( image  m,
int  l 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_label()

image get_label ( image **  characters,
char *  string,
int  size 
)
Here is the call graph for this function:

◆ get_label_v3()

image get_label_v3 ( image **  characters,
char *  string,
int  size 
)
Here is the call graph for this function:

◆ get_opencv_label()

image get_opencv_label ( const std::string &  str,
const int  area 
)
Todo:
what are the performance implications of LINE_AA over LINE_4 or LINE_8?
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_pixel()

static float get_pixel ( image  m,
int  x,
int  y,
int  c 
)
static
Here is the caller graph for this function:

◆ get_pixel_extend()

static float get_pixel_extend ( image  m,
int  x,
int  y,
int  c 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ grayscale_image()

image grayscale_image ( image  im)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ hsv_to_rgb()

void hsv_to_rgb ( image  im)
Todo:
#COLOR - cannot do HSV if channels > 3
Here is the call graph for this function:
Here is the caller graph for this function:

◆ image_distance()

image image_distance ( image  a,
image  b 
)
Here is the call graph for this function:

◆ letterbox_image()

image letterbox_image ( image  im,
int  w,
int  h 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ letterbox_image_into()

void letterbox_image_into ( image  im,
int  w,
int  h,
image  boxed 
)
Here is the call graph for this function:

◆ load_image()

image load_image ( char *  filename,
int  desired_width,
int  desired_height,
int  channels 
)

Load the given image.

If both desired_width and desired_height have been set, then the image will be resized to match those dimensions. Otherwise, specify 0 (zero) to leave the image dimensions unchanged.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ make_attention_image()

image make_attention_image ( int  img_size,
float *  original_delta_cpu,
float *  original_input_cpu,
int  w,
int  h,
int  c,
float  alpha 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ make_empty_image()

image make_empty_image ( int  w,
int  h,
int  c 
)
Here is the caller graph for this function:

◆ make_image()

image make_image ( int  w,
int  h,
int  c 
)
Here is the call graph for this function:

◆ make_image_red()

void make_image_red ( image  im)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ make_random_image()

image make_random_image ( int  w,
int  h,
int  c 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ normalize_image()

void normalize_image ( image  p)
Here is the caller graph for this function:

◆ normalize_image2()

void normalize_image2 ( image  p)

◆ print_image()

void print_image ( image  m)

◆ quantize_image()

void quantize_image ( image  im)
Here is the caller graph for this function:

◆ random_augment_image()

image random_augment_image ( image  im,
float  angle,
float  aspect,
int  low,
int  high,
int  size 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ random_crop_image()

image random_crop_image ( image  im,
int  w,
int  h 
)
Here is the call graph for this function:

◆ random_distort_image()

void random_distort_image ( image  im,
float  hue,
float  saturation,
float  exposure 
)
Todo:
#COLOR - HSV no beuno
Here is the call graph for this function:

◆ resize_image()

image resize_image ( image  im,
int  w,
int  h 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ resize_max()

image resize_max ( image  im,
int  max 
)
Here is the call graph for this function:

◆ resize_min()

image resize_min ( image  im,
int  min 
)
Here is the call graph for this function:

◆ rgb_to_hsv()

void rgb_to_hsv ( image  im)
Todo:
#COLOR - cannot do HSV if channels > 3
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rgbgr_image()

void rgbgr_image ( image  im)
Here is the caller graph for this function:

◆ rotate_crop_image()

image rotate_crop_image ( image  im,
float  rad,
float  s,
int  w,
int  h,
float  dx,
float  dy,
float  aspect 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rotate_image()

image rotate_image ( image  im,
float  rad 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rotate_image_cw()

void rotate_image_cw ( image  im,
int  times 
)

◆ save_image()

void save_image ( image  im,
const char *  name 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ save_image_jpg()

void save_image_jpg ( image  im,
const char *  name 
)
Todo:
merge with save_mat_jpg()
Here is the call graph for this function:
Here is the caller graph for this function:

◆ save_image_options()

void save_image_options ( image  im,
const char *  name,
IMTYPE  f,
int  quality 
)
Here is the call graph for this function:

◆ save_image_png()

void save_image_png ( image  im,
const char *  name 
)
Todo:
merge with save_mat_png()
Here is the call graph for this function:
Here is the caller graph for this function:

◆ scale_image()

void scale_image ( image  m,
float  s 
)
Here is the caller graph for this function:

◆ scale_image_channel()

void scale_image_channel ( image  im,
int  c,
float  v 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_pixel()

static void set_pixel ( image  m,
int  x,
int  y,
int  c,
float  val 
)
static
Here is the caller graph for this function:

◆ show_image()

void show_image ( image  p,
const char *  name 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ show_image_collapsed()

void show_image_collapsed ( image  p,
char *  name 
)
Here is the call graph for this function:

◆ show_image_layers()

void show_image_layers ( image  p,
char *  name 
)
Here is the call graph for this function:

◆ show_image_normalized()

void show_image_normalized ( image  im,
const char *  name 
)
Here is the call graph for this function:

◆ show_images()

void show_images ( image ims,
int  n,
const char *  window 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_resize()

void test_resize ( char *  filename)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ three_way_max()

float three_way_max ( float  a,
float  b,
float  c 
)
Here is the caller graph for this function:

◆ three_way_min()

float three_way_min ( float  a,
float  b,
float  c 
)
Here is the caller graph for this function:

◆ threshold_image()

image threshold_image ( image  im,
float  thresh 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ tile_images()

image tile_images ( image  a,
image  b,
int  dx 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ translate_image()

void translate_image ( image  m,
float  s 
)

◆ translate_image_channel()

void translate_image_channel ( image  im,
int  c,
float  v 
)
Here is the call graph for this function:

◆ transpose_image()

void transpose_image ( image  im)

Variable Documentation

◆ colors

float colors[6][3] = { {1,0,1}, {0,0,1},{0,1,1},{0,1,0},{1,1,0},{1,0,0} }