- Main Page
- Data Structures
- Files

- File List
- Globals

# utils.h File Reference

## Detailed Description

Miscellaneous utility functions.

Copyright (C) 2006-2007 Rob Hess <hess@eecs.oregonstate.edu>

Version:
  1.1.1-20070913

`#include "cxcore.h"`
`#include <stdio.h>`
`#include <dirent.h>`

## Functions
static int | pixval8 (IplImage *img, int r, int c)
| A function to get a pixel value from an 8-bit unsigned image.
static void | setpix8 (IplImage *img, int r, int c, uchar val)
| A function to set a pixel value in an 8-bit unsigned image.
static float | pixval32f (IplImage *img, int r, int c)
| A function to get a pixel value from a 32-bit floating-point image.
static void | setpix32f (IplImage *img, int r, int c, float val)
| A function to set a pixel value in a 32-bit floating-point image.
static double | pixval64f (IplImage *img, int r, int c)
| A function to get a pixel value from a 64-bit floating-point image.
static void | setpix64f (IplImage *img, int r, int c, double val)
| A function to set a pixel value in a 64-bit floating-point image.
void | fatal_error (char *format,...)
| Prints an error message and aborts the program.
char * | replace_extension (const char *file, const char *extn)
| Replaces a file's extension, which is assumed to be everything after the last dot ('.
char * | prepend_path (const char *path, const char *file)
| Prepends a path to a filename.
char * | basename (const char *pathname)
| A function that removes the path from a filename.
void | progress (int done)
| Displays progress in the console with a spinning pinwheel.
void | erase_from_stream (FILE *stream, int n)
| Erases a specified number of characters from a stream.
int | array_double (void **array, int n, int size)
| Doubles the size of an array with error checking.
double | dist_sq_2D (CvPoint2D64f p1, CvPoint2D64f p2)
| Calculates the squared distance between two points.
void | draw_x (IplImage *img, CvPoint pt, int r, int w, CvScalar color)
| Draws an x on an image.
IplImage * | stack_imgs (IplImage *img1, IplImage *img2)
| Combines two images by scacking one on top of the other.
void | display_big_img (IplImage *img, char *title)
| Displays an image, making sure it fits on screen.
void | vid_view (IplImage **imgs, int n, char *win_name)
| Allows user to view an array of images as a video.
int | win_closed (char *name)
| Checks if a HighGUI window is still open or not.

## Function Documentation

static int pixval8 | ( | IplImage * | img,
|  | int | r,
|  | int | c |
| ) |  |  | `[inline, static]`

A function to get a pixel value from an 8-bit unsigned image.

Parameters:

  | img | an image
  | r | row
  | c | column

Returns:
  Returns the value of the pixel at (r, c) in img

static void setpix8 | ( | IplImage * | img,
|  | int | r,
|  | int | c,
|  | uchar | val |
| ) |  |  | `[inline, static]`

A function to set a pixel value in an 8-bit unsigned image.

Parameters:

  | img | an image
  | r | row
  | c | column
  | val | pixel value

static float pixval32f | ( | IplImage * | img,
|  | int | r,
|  | int | c |
| ) |  |  | `[inline, static]`

A function to get a pixel value from a 32-bit floating-point image.

Parameters:

  | img | an image
  | r | row
  | c | column

Returns:
  Returns the value of the pixel at (r, c) in img

static void setpix32f | ( | IplImage * | img,
|  | int | r,
|  | int | c,
|  | float | val |
| ) |  |  | `[inline, static]`

A function to set a pixel value in a 32-bit floating-point image.

Parameters:

  | img | an image
  | r | row
  | c | column
  | val | pixel value

static double pixval64f | ( | IplImage * | img,
|  | int | r,
|  | int | c |
| ) |  |  | `[inline, static]`

A function to get a pixel value from a 64-bit floating-point image.

Parameters:

  | img | an image
  | r | row
  | c | column

Returns:
  Returns the value of the pixel at (r, c) in img

static void setpix64f | ( | IplImage * | img,
|  | int | r,
|  | int | c,
|  | double | val |
| ) |  |  | `[inline, static]`

A function to set a pixel value in a 64-bit floating-point image.

Parameters:

  | img | an image
  | r | row
  | c | column
  | val | pixel value

void fatal_error | ( | char * | format,
|  |  | ... |
| ) |  |  |

Prints an error message and aborts the program.

The error message is of the form "Error: ...", where the ... is specified by the format argument

Parameters:

  | format | an error message format string (as with `printf(3)`).

char* replace_extension | ( | const char * | file,
|  | const char * | extn |
| ) |  |  |

Replaces a file's extension, which is assumed to be everything after the last dot ('.

') character.

Parameters:

  | file | the name of a file
  | extn | a new extension for file; should not include a dot (i.e. `"jpg"`, not `".jpg"`) unless the new file extension should contain two dots.

Returns:
  Returns a new string formed as described above. If file does not have an extension, this function simply adds one.

char* prepend_path | ( | const char * | path,
|  | const char * | file |
| ) |  |  |

Prepends a path to a filename.

Parameters:

  | path | a path
  | file | a file name

Returns:
  Returns a new string containing a full path name consisting of path prepended to file.

char* basename | ( | const char * | pathname | ) |

A function that removes the path from a filename.

Similar to the Unix basename command.

Parameters:

  | pathname | a (full) path name

Returns:
  Returns the basename of pathname.

void progress | ( | int | done | ) |

Displays progress in the console with a spinning pinwheel.

Every time this function is called, the state of the pinwheel is incremented. The pinwheel has four states that loop indefinitely: '|', '/', '-', '\'.

Parameters:

  | done | if 0, this function simply increments the state of the pinwheel; otherwise it prints "done"

void erase_from_stream | ( | FILE * | stream,
|  | int | n |
| ) |  |  |

Erases a specified number of characters from a stream.

Parameters:

  | stream | the stream from which to erase characters
  | n | the number of characters to erase

int array_double | ( | void ** | array,
|  | int | n,
|  | int | size |
| ) |  |  |

Doubles the size of an array with error checking.

Parameters:

  | array | pointer to an array whose size is to be doubled
  | n | number of elements allocated for array
  | size | size in bytes of elements in array

Returns:
  Returns the new number of elements allocated for array. If no memory is available, returns 0 and frees array.

double dist_sq_2D | ( | CvPoint2D64f | p1,
|  | CvPoint2D64f | p2 |
| ) |  |  |

Calculates the squared distance between two points.

Parameters:

  | p1 | a point
  | p2 | another point

void draw_x | ( | IplImage * | img,
|  | CvPoint | pt,
|  | int | r,
|  | int | w,
|  | CvScalar | color |
| ) |  |  |

Draws an x on an image.

Parameters:

  | img | an image
  | pt | the center point of the x
  | r | the x's radius
  | w | the x's line weight
  | color | the color of the x

IplImage* stack_imgs | ( | IplImage * | img1,
|  | IplImage * | img2 |
| ) |  |  |

Combines two images by scacking one on top of the other.

Parameters:

  | img1 | top image
  | img2 | bottom image

Returns:
  Returns the image resulting from stacking img1 on top if img2

void display_big_img | ( | IplImage * | img,
|  | char * | title |
| ) |  |  |

Displays an image, making sure it fits on screen.

cvWaitKey() must be called after this function so the event loop is entered and the image is displayed.

Parameters:

  | img | an image, possibly too large to display on-screen
  | title | the title of the window in which img is displayed

void vid_view | ( | IplImage ** | imgs,
|  | int | n,
|  | char * | win_name |
| ) |  |  |

Allows user to view an array of images as a video.

Keyboard controls are as follows:

- Space - start and pause playback
- Page Up - skip forward 10 frames
- Page Down - jump back 10 frames
- Right Arrow - skip forward 1 frame
- Left Arrow - jump back 1 frame
- Backspace - jump back to beginning
- Esc - exit playback
- Closing the window also exits playback

Parameters:

  | imgs | an array of images
  | n | number of images in imgs
  | win_name | name of window in which images are displayed

int win_closed | ( | char * | name | ) |

Checks if a HighGUI window is still open or not.

Parameters:

  | name | the name of the window we're checking

Returns:
  Returns 1 if the window named name has been closed or 0 otherwise