firevision Namespace Reference


Classes

class  Bumblebee2Camera
 Bumblebee2 camera. More...
class  CameraNotOpenedException
 Camera not opened exception. More...
class  CameraNotStartedException
 Camera not started exception. More...
class  CaptureException
 Capturing a frame failed. More...
class  UnknownCameraTypeException
 Unknown camera type exception. More...
class  UnknownCameraException
 Unknown camera exception. More...
class  UnknownCameraControlTypeException
 Unknown camera control exception. More...
class  Camera
 Camera interface for image aquiring devices in FireVision. More...
class  CameraControlColor
 Camera color control interface. More...
class  CameraControl
 Camera control interface base class. More...
class  DummyCameraControl
 Plain dummy control. More...
class  CameraControlEffect
 Camera effect control interface. More...
class  CameraControlFactory
 Camera control factory. More...
class  CameraControlFocus
 Camera focus control interface. More...
class  CameraControlImage
 Camera image control interface. More...
class  CameraControlPanTilt
 Camera pan/tilt control interface. More...
class  SonyEviD100PControl
 Sony Evi D100P pan/tilt control. More...
class  CameraControlSource
 Camera source control interface. More...
class  ViscaControlException
 Visca exception. More...
class  ViscaControlInquiryRunningException
 Visca inquire running exception. More...
class  ViscaControl
 Visca control protocol implementation over a serial line. More...
class  CameraControlZoom
 Camera zoom control interface. More...
class  CameraFactory
 Camera factory. More...
class  FileLoader
 Load images from files. More...
class  FirewireCamera
 Firewire camera. More...
class  LeutronCamera
 Cameras accessed through Leutron framegrabber. More...
class  NaoCamera
 Video4Linux 2 camera with Nao-specific extensions. More...
class  NetworkCamera
 Network camera. More...
struct  avt_autofnc_aoi_t
 Datastructure for the autofunction AOI. More...
struct  avt_af_area_position_t
 Datastructure for the position of the autofunction AOI. More...
struct  avt_af_area_size_t
 Datastructure for the size of the autofunction AOI. More...
struct  avt_version_info1_t
 Datastructure for version information of the uC. More...
struct  avt_version_info3_t
 Datastructure for version information of the FGPA. More...
class  PikeCamera
 Pike camera. More...
class  SharedMemoryCamera
 Shared memory camera. More...
class  SwissRangerCamera
 SwissRanger camera. More...
class  V4LCamera
 General Video4Linux camera implementation. More...
class  V4L1Camera
 Video4Linux 1 camera implementation. More...
class  V4L2Camera
 Video4Linux 2 camera access implementation. More...
class  BorderShrinker
 Border shrinker. More...
class  Classifier
 Classifier to extract regions of interest. More...
class  FacesClassifier
 Faces classifier. More...
class  GradientClassifier
 Gradient classifier. More...
class  Qualifier
 Abstract Qualifier for a single pixel. More...
class  LumaQualifier
 LumaQualifier for a single pixel. More...
class  SkyblueQualifier
 SkyblueQualifier for a single pixel. More...
class  YellowQualifier
 YellowQualifier for a single pixel. More...
class  Shrinker
 Shrinker class to shrink ROIs. More...
class  SiftClassifier
 SIFT classifier. More...
class  SiftppClassifier
 SIFTPP classifier. More...
class  SimpleColorClassifier
 Simple classifier. More...
class  SquareShrinker
 Square shrinker. More...
class  SurfClassifier
 SURF classifier. More...
class  FilterCompare
 Comparison filter. More...
class  FilterDifference
 Calculates the difference of two images. More...
class  Filter
 Filter interface. More...
class  FilterGauss
 Gaussian filter. More...
class  FilterHipass
 Hipass filter. More...
class  FilterHSearch
 Search horizontally for a color change. More...
class  FilterHVSearch
 Horizontal/vertical search filter. More...
class  FilterInvert
 Inversion filter. More...
class  FilterLaplace
 Laplacian filter. More...
class  FilterMax
 Maximum filter. More...
class  FilterMedian
 Median filter. More...
class  FilterMin
 Minimum filter. More...
class  FilterClosing
 Morphological closing. More...
class  FilterDilation
 Morphological dilation. More...
class  FilterErosion
 Morphological erosion. More...
class  FilterGeodesicDilation
 Morphological geodesic dilation. More...
class  FilterGeodesicErosion
 Morphological geodesic erosion. More...
class  MorphologicalFilter
 Morphological filter interface. More...
class  FilterOpening
 Morphological opening. More...
class  SEGenerator
 Basic generators for structuring elements for morphological filters. More...
class  FilterTophatClosing
 Morphological tophat closing. More...
class  FilterNothing
 A filter that does. More...
class  FilterOr
 Or filter. More...
class  FilterRectify
 Rectify image. More...
class  FilterROIDraw
 ROI Drawing filter. More...
class  FilterSegment
 Segmentation filter. More...
class  FilterColorSegmentation
 Segmentation filter. More...
class  FilterScanlineSegmentation
 Segmentation filter. More...
class  FilterShapeRemover
 Remove shapes from an image. More...
class  FilterSharpen
 Sharpen filter. More...
class  FilterSobel
 Sobel filter. More...
class  FilterSum
 Sum filter. More...
class  FilterThreshold
 Threshold filter. More...
class  FilterUnwarp
 Create unwarped image with given mirror model. More...
class  IplImageAdapter
 Adapter for OpenCV IplImages. More...
class  ROI
 Region of interest. More...
struct  center_in_roi_t
 Center in ROI. More...
class  VisionMaster
 Vision Master. More...
class  CameraTracker
 Camera Tracker. More...
class  ColorObjectMap
 Color mapping class. More...
struct  RGB_t
 Structure defining an RGB pixel (in R-G-B byte ordering). More...
struct  BGR_t
 Structure defining an RGB pixel (in B-G-R byte ordering). More...
struct  YUV_t_struct
 YUV pixel. More...
struct  ZSlice
 a "slice" is a row of consecutive pixels (horizontal) More...
class  ZRegion
 a region is a stack of slices, together with the y-position of the slice at the top More...
class  Zauberstab
 Zaubertab selection utility. More...
class  BayesColormapGenerator
 Colormap Generator using Bayes method. More...
class  BayesHistosToLut
 LUT generation by using Bayesian method on histograms. More...
struct  cmfile_header_t
 Block header for a Colormap header block in a ColormapFile. More...
class  ColormapFile
 Colormap file. More...
class  ColormapFileBlock
 FireVision data file block for colormap files. More...
struct  cmfile_yuvblock_header_t
 Block header for a YUV block in a ColormapFile. More...
class  ColormapFileYuvBlock
 YUV block for colormap file. More...
class  Colormap
 Colormap interface. More...
class  ColormapGenerator
 Interface for colormap generators. More...
class  YuvColormap
 YUV Colormap. More...
class  ImageCompressor
 Image compressor interface. More...
class  ImageDecompressor
 Image de-compressor interface. More...
class  JpegImageCompressor
 Jpeg image compressor. More...
class  JpegImageDecompressor
 Decompressor for JPEG images. More...
class  Drawer
 Draw to an image. More...
class  Field
 This class is used to describe a soccer field. More...
class  FieldDrawer
 This class is used to draw a soccer field. More...
class  FieldLines
 This class acts as a container for lines on a soccer field. More...
class  FieldLines6x4
 This class implements the 6 by 4 meter SPL field according to the 2008 roules. More...
class  FieldLinesCityTower
 This class implements the test field in Graz, Austria at the CityTower. More...
class  FieldLinesCityTowerSeminar
 This class implements the test field in Graz, Austria at the CityTower. More...
class  MonoDrawer
 Draw to a monochrome image. More...
struct  _fvff_header_t
 Header for a FireVision file format file. More...
struct  _fvff_block_header_t
 Block header. More...
class  FireVisionDataFile
 FireVision File Format for data files. More...
class  FireVisionDataFileBlock
 FireVision File Format data block. More...
class  InconsistentImageException
 Throw if an inconsistent image was found. More...
class  InconsistentLUTException
 Throw if an inconsistent LUT was found. More...
struct  SharedMemoryImageBuffer_header_t
 Shared memory header struct for FireVision images. More...
class  SharedMemoryImageBufferHeader
 Shared memory image buffer header. More...
class  SharedMemoryImageBufferLister
 Shared memory image buffer lister. More...
class  SharedMemoryImageBuffer
 Shared memory image buffer. More...
struct  SharedMemoryLookupTable_header_t
 Shared memory lookup table header struct. More...
class  SharedMemoryLookupTableHeader
 Shared memory lookup table header. More...
class  SharedMemoryLookupTableLister
 Shared memory lookup table lister. More...
class  SharedMemoryLookupTable
 Shared memory lookup table. More...
struct  FUSE_header_t
 general packet header More...
struct  FUSE_message_t
 FUSE message. More...
struct  FUSE_greeting_message_t
 version packet, bi-directional More...
struct  FUSE_lut_message_header_t
 Lookup table packet header. More...
struct  FUSE_image_message_header_t
 Image packet header. More...
struct  FUSE_imagereq_message_t
 Image request message. More...
struct  FUSE_imagedesc_message_t
 Image description message. More...
struct  FUSE_lutdesc_message_t
 LUT description message. More...
struct  FUSE_imageinfo_t
 Image info message. More...
struct  FUSE_lutinfo_t
 LUT info message. More...
struct  FUSE_imagelist_message_t
 Image list message. More...
struct  FUSE_lutlist_message_t
 LUT list message. More...
class  FuseClient
 FUSE client. More...
class  FuseClientHandler
 FUSE client handler. More...
class  FuseImageContent
 FUSE image content. More...
class  FuseImageListContent
 FUSE image list content. More...
class  FuseLutContent
 FUSE lookup table content. More...
class  FuseLutListContent
 FUSE lookup table list content. More...
class  FuseNetworkMessage
 FUSE Network Message. More...
class  FuseMessageContent
 FUSE message content. More...
class  FuseNetworkMessageQueue
 A LockQueue of FuseNetworkMessage to hold messages in inbound and outbound queues. More...
class  FuseServer
 FireVision FUSE protocol server. More...
class  FuseServerClientThread
 FUSE Server Client Thread. More...
class  FuseNetworkTransceiver
 FUSE Network Transceiver. More...
class  FvRawReader
 FvRaw image reader implementation. More...
class  JpegReader
 JPEG file reader. More...
class  PNGReader
 PNG file reader. More...
class  PNMReader
 PNM file reader. More...
class  Reader
 Image reader interface. More...
class  RectificationInfoFile
 Rectification Info File. More...
struct  _rectinfo_header_t
 Header for a rectification information file (rectinfo). More...
struct  _rectinfo_block_header_t
 The per-image rectification info block header. More...
struct  _rectinfo_lut_16x16_block_header_t
 Block header for rectification LUTs wit 16-bit values. More...
struct  _rectinfo_lut_16x16_entry_t
 Data type used to build a rectification LUT. More...
class  RectificationInfoBlock
 Rectification info block. More...
class  RectificationLutInfoBlock
 Recitification Lookup Table Block. More...
class  LossyScaler
 Lossy image scaler. More...
class  Scaler
 Image scaler interface. More...
class  Histogram
 Histogram. More...
struct  _histogram_block_header_t
 Header for a histogram block. More...
class  HistogramBlock
 This class defines a file block for histograms. More...
class  HistogramFile
 A fileformat for histograms. More...
class  ImageDiff
 Image difference checker. More...
class  CameraArgumentParser
 Camera argument parser. More...
class  CompressedImageWriter
 Writer for arbitrarily compressed images. More...
class  FvRawWriter
 FvRaw Writer implementation. More...
class  JpegWriter
 JPEG file writer. More...
class  PNGWriter
 PNG file writer. More...
class  PNMWriter
 PNM file writer. More...
class  SeqWriter
 Writes a sequence of images to disk. More...
class  Writer
 Interface to write images. More...
class  FuseImageListWidget
 This widget displays all available Fuse images in a tree view. More...
class  ImageDisplay
 Simple image display. More...
class  ImageWidget
 This class is an image container to display fawkes cameras (or image buffers) inside a Gtk::Container. More...
class  SDLKeeper
 SDL Reference keeper. More...
class  Calibration
 A Calibration matrix for a finite camera. More...
class  CCDCalibration
 A Calibration matrix for a ccd camera. More...
class  CCDCam
 A class for a ccd camera model. More...
class  AboveHorizonException
 The point that should be calculated lies above the horizon. More...
class  ProjectiveCam
 Abstract class for projective cameras. More...
class  ColorModel
 Color model interface. More...
class  ColorModelLookupTable
 Color model based on a lookup table. More...
class  ColorModelThresholds
 Really simple thresholds-based model with some hard-coded thresholds. More...
class  GlobalPositionModel
 Global Position Model Interface. More...
class  GlobalFromRelativePos
 Calculate global ball position based on a relative position model. More...
class  OmniGlobal
 Omni vision global position model. More...
class  Bulb
 Bulb mirror lookup table. More...
class  MirrorModel
 Mirror model interface. More...
class  BackProjectionPositionModel
 This model uses a ProjectiveCam to back project points in the image to the world by the ground plane assumption. More...
class  BallTrigoRelativePos
 Relative ball position model for pan/tilt camera. More...
class  BoxRelative
 Relative (beer) box position model. More...
class  FrontBallRelativePos
 Relative ball position model for front vision. More...
class  OmniRelative
 Omni vision relative position model. More...
class  RelativePositionModel
 Relative Position Model Interface. More...
class  ScanlineBeams
 Raytraced beams scanline model. More...
class  CornerHorizon
 Cut of arbitrary scanline models at an artificial horizon. More...
class  ScanlineGrid
 Scanline Grid. More...
class  ScanlineLineGrid
 Grid of scan lines. More...
class  ScanlineRadial
 Radial scanlines. More...
class  ScanlineModel
 Scanline model interface. More...
class  ScanlineStar
 Star-like arranged scanline points. More...
class  FittedCircle
 FittedCircle accumulator. More...
class  FitAccum
 FIT Accumulator. More...
class  RhtAccNode
 Hough-Transform accumulator node. More...
class  RhtRNode
 Hough-Transform accumulator node. More...
class  RhtYNode
 Hough-Transform accumulator node. More...
class  RhtXNode
 Hough-Transform accumulator node. More...
class  RhtAccumulator
 Hough-Transform accumulator. More...
class  Circle
 Circle shape. More...
class  HtLinesModel
 Hough-Transform line matcher. More...
class  LineShape
 Line shape. More...
class  RcdCircleModel
 RCD circle model from the following literature An Efficient Randomized Algorithm for Detecting Circles. More...
class  RhtCircleModel
 Randomized Hough-Transform circle model. More...
class  RhtLinesModel
 Randomized Hough-Transform line model. More...
class  Shape
 Shape interface. More...
class  ShapeModel
 Shape model interface. More...
class  VelocityGlobalFromRelative
 Global velocity from relative velocities. More...
class  VelocityFromGlobal
 Velocity from global positions. More...
struct  vel_postime_t
 Position/time tuple. More...
struct  vel_veltime_t
 Velocity/time tuple. More...
class  VelocityFromRelative
 Calculate velocity from relative positions. More...
class  VelocityModel
 Velocity model interface. More...
class  StereoProcessor
 Stereo processor interface. More...
class  TriclopsStereoProcessor
 Stereo processing using PGR Triclops SDK. More...

Typedefs

typedef std::list< ROIROIList
typedef firevision::YUV_t_struct YUV_t
 YUV pixel.
typedef std::list< fawkes::cart_coord_2d_tfld_line_points_t
typedef std::list< fawkes::arc_tfield_circles_t
typedef firevision::_fvff_header_t fvff_header_t
 Header for a FireVision file format file.
typedef firevision::_fvff_block_header_t fvff_block_header_t
 Block header.
typedef firevision::_rectinfo_header_t rectinfo_header_t
 Header for a rectification information file (rectinfo).
typedef firevision::_rectinfo_block_header_t rectinfo_block_header_t
 The per-image rectification info block header.
typedef firevision::_rectinfo_lut_16x16_block_header_t rectinfo_lut_16x16_block_header_t
 Block header for rectification LUTs wit 16-bit values.
typedef firevision::_rectinfo_lut_16x16_entry_t rectinfo_lut_16x16_entry_t
 Data type used to build a rectification LUT.
typedef enum firevision::_rectinfo_block_type_t rectinfo_block_type_t
 Rectification info block type.
typedef enum firevision::_rectinfo_camera_t rectinfo_camera_t
 Rectification camera.
typedef firevision::_histogram_block_header_t histogram_block_header_t
 Header for a histogram block.
typedef enum firevision::_histogram_block_type_t histogram_block_type_t
 The blocktype of a histogram block.

Enumerations

enum  hint_t {
  H_BALL = 0, H_BACKGROUND = 1, H_ROBOT = 2, H_FIELD = 3,
  H_GOAL_YELLOW = 4, H_GOAL_BLUE = 5, H_LINE = 6, H_UNKNOWN = 7,
  H_ROBOT_OPP = 8, H_SIZE
}
 Hint about object. More...
enum  orientation_t {
  ORI_HORIZONTAL = 1, ORI_VERTICAL, ORI_CROSS, ORI_DEG_0,
  ORI_DEG_45, ORI_DEG_90, ORI_DEG_135, ORI_DEG_180,
  ORI_DEG_225, ORI_DEG_270, ORI_DEG_315, ORI_DEG_360
}
 Orientations. More...
enum  color_t {
  C_ORANGE = 0, C_BACKGROUND = 1, C_MAGENTA = 2, C_CYAN = 3,
  C_BLUE = 4, C_YELLOW = 5, C_GREEN = 6, C_WHITE = 7,
  C_RED = 8, C_BLACK = 9, C_OTHER = 10
}
 The type "color_t" enumerates all colors that are of interest in the RoboCup-domain. More...
enum  coordsys_type_t {
  COORDSYS_UNKNOWN = 0, COORDSYS_ROBOT_CART = 1, COORDSYS_WORLD_CART = 2, COORDSYS_ROBOT_POLAR = 3,
  COORDSYS_WORLD_POLAR = 4
}
 datatype to determine the type of the used coordinate system Not that if the robot is positioned at (X=0,Y=0,Ori=0) the robot and world cartesian coordinate systems are the same. More...
enum  bayer_pattern_t {
  BAYER_PATTERN_YYYY = 0x59595959, BAYER_PATTERN_RGGB = 0x52474742, BAYER_PATTERN_GBRG = 0x47425247, BAYER_PATTERN_GRBG = 0x47524247,
  BAYER_PATTERN_BGGR = 0x42474752
}
 Bayer pattern enumeration. More...
enum  colorspace_t {
  CS_UNKNOWN = 0, RGB = 1, YUV411_PACKED = 2, YUV411_PLANAR = 3,
  YUY2 = 4, BGR = 5, YUV422_PACKED = 6, YUV422_PLANAR = 7,
  GRAY8 = 8, RGB_WITH_ALPHA = 9, BGR_WITH_ALPHA = 10, BAYER_MOSAIC_RGGB = 11,
  BAYER_MOSAIC_GBRG = 12, BAYER_MOSAIC_GRBG = 13, BAYER_MOSAIC_BGGR = 14, RAW16 = 15,
  RAW8 = 16, MONO8 = 17, MONO16 = 18, YUV444_PACKED = 19,
  YVU444_PACKED = 20, YVY2 = 21, YUV422_PLANAR_QUARTER = 22, CARTESIAN_3D_FLOAT = 23,
  CARTESIAN_3D_DOUBLE = 24, COLORSPACE_N = 25
}
 Color spaces. More...
enum  FUSE_version_t { FUSE_VERSION_1 = 1, FUSE_VERSION_2 = 2, FUSE_VERSION_3 = 3 }
 FUSE version enum. More...
enum  FUSE_message_type_t {
  FUSE_MT_GREETING = 0xFFFFFFFE, FUSE_MT_IMAGE = 1000, FUSE_MT_LUT = 1001, FUSE_MT_IMAGE_LIST = 1002,
  FUSE_MT_LUT_LIST = 1003, FUSE_MT_GET_IMAGE_FAILED = 1004, FUSE_MT_GET_LUT_FAILED = 1005, FUSE_MT_SET_LUT_SUCCEEDED = 1006,
  FUSE_MT_SET_LUT_FAILED = 1007, FUSE_MT_IMAGE_INFO = 1008, FUSE_MT_IMAGE_INFO_FAILED = 1009, FUSE_MT_GET_IMAGE = 2000,
  FUSE_MT_GET_LUT = 2001, FUSE_MT_SET_LUT = 2002, FUSE_MT_GET_IMAGE_LIST = 2003, FUSE_MT_GET_LUT_LIST = 2004,
  FUSE_MT_GET_IMAGE_INFO = 2005
}
 FUSE packet types. More...
enum  FUSE_image_format_t { FUSE_IF_RAW = 1, FUSE_IF_JPEG = 2 }
 Image format. More...
enum  _rectinfo_block_type_t { FIREVISION_RECTINFO_TYPE_INVALID = 0, FIREVISION_RECTINFO_TYPE_LUT_16x16 = 1 }
 Rectification info block type. More...
enum  _rectinfo_camera_t {
  FIREVISION_RECTINFO_CAMERA_MAIN = 0, FIREVISION_RECTINFO_CAMERA_LEFT = 1, FIREVISION_RECTINFO_CAMERA_RIGHT = 2, FIREVISION_RECTINFO_CAMERA_CENTER = 3,
  FIREVISION_RECTINFO_CAMERA_TOP = 4
}
 Rectification camera. More...
enum  _histogram_block_type_t { FIREVISION_HISTOGRAM_TYPE_16 = 0, FIREVISION_HISTOGRAM_TYPE_32 = 1 }
 The blocktype of a histogram block. More...
enum  PNMFormat {
  PNM_PBM, PNM_PBM_ASCII, PNM_PGM, PNM_PGM_ASCII,
  PNM_PPM, PNM_PPM_ASCII
}
 PNM subtype. More...

Functions

int file_select (struct dirent *ent)
void saveIpoints (std::string sFileName, const std::vector< surf::Ipoint > &ipts, bool bVerbose, bool bLaplacian, int VLength)
 saveIpoints save Surf points
void loadIpoints (std::string sFileName, std::vector< surf::Ipoint > &ipts, bool bVerbose, int &__vlen)
 loadIpoints load interest points
void bayerGBRG_to_yuv422planar_nearest_neighbour (const unsigned char *bayer, unsigned char *yuv, unsigned int width, unsigned int height)
void bayerGBRG_to_yuv422planar_bilinear (const unsigned char *bayer, unsigned char *yuv, unsigned int width, unsigned int height)
void bayerGBRG_to_yuv422planar_bilinear2 (const unsigned char *bayer, unsigned char *yuv, unsigned int width, unsigned int height)
colorspace_t colorspace_by_name (const char *mode)
const char * colorspace_to_string (colorspace_t colorspace)
unsigned char * malloc_buffer (colorspace_t colorspace, unsigned int width, unsigned int height)
size_t colorspace_buffer_size (colorspace_t cspace, unsigned int width, unsigned int height)
void convert (colorspace_t from, colorspace_t to, const unsigned char *src, unsigned char *dst, unsigned int width, unsigned int height)
 Convert image from one colorspace to another.
void grayscale (colorspace_t cspace, unsigned char *src, unsigned char *dst, unsigned int width, unsigned int height)
void rgb_to_rgb_with_alpha_plainc (const unsigned char *rgb, unsigned char *rgb_alpha, unsigned int width, unsigned int height)
 Convert RGB to RGB with alpha values.
void rgb_to_bgr_with_alpha_plainc (const unsigned char *rgb, unsigned char *bgr_alpha, unsigned int width, unsigned int height)
 Convert RGB to BGR with alpha values.
void bgr_to_rgb_plainc (const unsigned char *BGR, unsigned char *RGB, unsigned int width, unsigned int height)
 Convert BGR to RGB This is plain C code without special optimizations.
void convert_line_bgr_rgb (const unsigned char *BGR, unsigned char *RGB, unsigned int width, unsigned int height)
void rgb_to_yuy2 (const unsigned char *RGB, unsigned char *YUV, unsigned int width, unsigned int height)
void rgb_to_yuv411packed_plainc (const unsigned char *RGB, unsigned char *YUV, unsigned int width, unsigned int height)
 RGB to YUV Conversion.
void convert_line_rgb_to_yuv422planar (const unsigned char *RGB, unsigned char *YUV, unsigned int width, unsigned int height, unsigned int rgb_line, unsigned int yuv_line)
 Convert a line of a RGB buffer to a line in a planar YUV422 buffer.
void rgb_to_yuv422planar_plainc (const unsigned char *RGB, unsigned char *YUV, unsigned int width, unsigned int height)
 Convert an RGB buffer to a planar YUV422 buffer.
void convert_line_rgb_to_yuv422packed (const unsigned char *RGB, unsigned char *YUV, unsigned int width, unsigned int height, unsigned int rgb_line, unsigned int yuv_line)
void rgb_to_yuv422packed_plainc (const unsigned char *RGB, unsigned char *YUV, unsigned int width, unsigned int height)
void bgr_to_yuv422planar_plainc (const unsigned char *BGR, unsigned char *YUV, unsigned int width, unsigned int height)
 Convert an BGR buffer to a planar YUV422 buffer.
void iyu1_to_yuy2 (const unsigned char *src, unsigned char *dest, unsigned int width, unsigned int height)
 Convert IYU1 to IYU2.
void gray8_to_yuy2 (const unsigned char *src, unsigned char *dest, unsigned int width, unsigned int height)
 8-Bit gray to YUY2 conversion This function takes the gray value as Y and sets U and V to 128.
void gray8_to_yuv422planar_plainc (const unsigned char *src, unsigned char *dst, unsigned int width, unsigned int height)
 8-Bit gray to YUV422_PLANAR
void yuv422planar_copy_uv (const unsigned char *src, unsigned char *dst, unsigned int width, unsigned int height, unsigned int x, unsigned int y, unsigned int copy_width, unsigned int copy_height)
 Copy part of the U anv V planes of a YUV422planar image to another.
void yuv422planar_to_yuv422packed (const unsigned char *planar, unsigned char *packed, unsigned int width, unsigned int height)
 Convert YUV422_PLANAR images to YUV422_PACKED.
void yuv422planar_quarter_to_yuv422packed (const unsigned char *planar, unsigned char *packed, const unsigned int width, const unsigned int height)
 Convert YUV422_PLANAR_QUARTER images to YUV422_PACKED.
void yuv422planar_quarter_to_yuv422planar (const unsigned char *planar, unsigned char *packed, const unsigned int width, const unsigned int height)
 Convert YUV422_PLANAR_QUARTER images to YUV422_PLANAR.
void yuv422packed_to_yuv422planar (const unsigned char *packed, unsigned char *planar, unsigned int width, unsigned int height)
 Convert YUV422_PACKED images to YUV422_PLANAR.
void yuy2_to_yuv422planar (const unsigned char *packed, unsigned char *planar, unsigned int width, unsigned int height)
 Convert YUY2 images to YUV422_PLANAR.
void yvy2_to_yuv422planar (const unsigned char *packed, unsigned char *planar, unsigned int width, unsigned int height)
 Convert YVY2 images to YUV422_PLANAR.
void yuy2_to_yuv422planar_quarter (const unsigned char *packed, unsigned char *planar, const unsigned int width, const unsigned int height)
 Convert YUY2 images to quarter-sized YUV422_PLANAR buffer.
void yuv444packed_to_yuv422planar (const unsigned char *yuv444, unsigned char *yuv422, unsigned int width, unsigned int height)
 Convert YUV444_PACKED images to YUV422_PLANAR.
void yuv444packed_to_yuv422packed (const unsigned char *yvu444, unsigned char *yuv422, unsigned int width, unsigned int height)
void yvu444packed_to_yuv422planar (const unsigned char *yvu444, unsigned char *yuv422, unsigned int width, unsigned int height)
void yvu444packed_to_yuv422packed (const unsigned char *yvu444, unsigned char *yuv422, unsigned int width, unsigned int height)
void yuv422planar_erase_y_plane (unsigned char *yuv, unsigned int width, unsigned int height)
void yuv422planar_erase_u_plane (unsigned char *yuv, unsigned int width, unsigned int height)
void yuv422planar_erase_v_plane (unsigned char *yuv, unsigned int width, unsigned int height)
void grayscale_yuv422packed (const unsigned char *src, unsigned char *dst, unsigned int width, unsigned int height)
void grayscale_yuv422planar (const unsigned char *src, unsigned char *dst, unsigned int width, unsigned int height)
void convert_line_yuv422planar_to_yuv444packed (const unsigned char *src, unsigned char *dst, unsigned int width, unsigned int height, unsigned int src_line, unsigned int dst_line)
void yuv411packed_to_rgb_plainc (const unsigned char *YUV, unsigned char *RGB, unsigned int width, unsigned int height)
 YUV to RGB Conversion B = 1.164(Y - 16) + 2.018(U - 128) G = 1.164(Y - 16) - 0.813(V - 128) - 0.391(U - 128) R = 1.164(Y - 16) + 1.596(V - 128).
void yuv422planar_to_rgb_plainc (const unsigned char *planar, unsigned char *RGB, unsigned int width, unsigned int height)
 YUV to RGB Conversion B = 1.164(Y - 16) + 2.018(U - 128) G = 1.164(Y - 16) - 0.813(V - 128) - 0.391(U - 128) R = 1.164(Y - 16) + 1.596(V - 128).
void yuv422packed_to_rgb_plainc (const unsigned char *YUV, unsigned char *RGB, unsigned int width, unsigned int height)
 YUV to RGB Conversion B = 1.164(Y - 16) + 2.018(U - 128) G = 1.164(Y - 16) - 0.813(V - 128) - 0.391(U - 128) R = 1.164(Y - 16) + 1.596(V - 128).
void yuv422planar_to_bgr_plainc (const unsigned char *planar, unsigned char *BGR, unsigned int width, unsigned int height)
 Convert YUV422 planar to BGR.
void yuv422planar_to_rgb_with_alpha_plainc (const unsigned char *planar, unsigned char *RGB, unsigned int width, unsigned int height)
void yuv422planar_to_bgr_with_alpha_plainc (const unsigned char *planar, unsigned char *BGR, unsigned int width, unsigned int height)
void yuv422packed_to_bgr_with_alpha_plainc (const unsigned char *YUV, unsigned char *BGR, unsigned int width, unsigned int height)
void pixel_yuv_to_rgb (const unsigned char y, unsigned u, unsigned char v, unsigned char *r, unsigned char *g, unsigned char *b)
void convert_line_yuv422planar_to_rgb (const unsigned char *YUV, unsigned char *RGB, unsigned int width, unsigned int height, unsigned int yuv_line, unsigned int rgb_line)
std::string fv_filetype_file (const char *filename)

Variables

const char * rectinfo_camera_strings []
 Rectification camera strings.
const char * rectinfo_type_strings []
const char * rectinfo_camera_strings []
 Rectification camera strings.
const char * rectinfo_type_strings []
const unsigned int TBY_CIRCLE_RADIUS_MAX = 600
const unsigned int TBY_CIRCLE_RADIUS_MIN = 2


Typedef Documentation

typedef struct firevision::YUV_t_struct firevision::YUV_t

YUV pixel.

typedef struct firevision::_fvff_header_t firevision::fvff_header_t

Header for a FireVision file format file.

The header defines the basic parameters needed to correctly interpret the following file contents.

The header defines a magic by which a rectinfo can be identified. This is defined by the actual content of the file. The version is stored as a sequential number. This version has to be changed whenever either the header or the file data format changes. The version is set by the concrete data implementation. The file defines the endianess of the supplied data. There are several reserved bits that may be used later to store flags. The field num_blocks define how many info blocks there are in this file.

Directly following the header is the content specific header. It has to be exactly the size given in spec_head_size.

typedef struct firevision::_fvff_block_header_t firevision::fvff_block_header_t

Block header.

Each block in a FvFF file has a block header. This header defines only the basic characteristics that are needed to parse the file. Directly following the header is the content specific block header. The size has to be set in spec_head_size.

typedef struct firevision::_rectinfo_header_t firevision::rectinfo_header_t

Header for a rectification information file (rectinfo).

The header defines the basic parameters needed to correctly interpret the following rectification file data.

It defines a content specific header for the FireVision data file format (fvff).

The header defines a magic by which a rectinfo can be identified. This is always FF03 (exactly in that order, no matter on the host systems endianess, this has to be stored literally) for FireVision File Format 03. The version is stored as a sequential number. This version has to be changed whenever either the header or the file data format changes. The file defines the endianess of the supplied data, which is important since the mapping in general has to be stored at least to 2-byte-sized data fields. There are several reserved bits that may be used later to store flags.

The header also carries a globally unique ID of the camera. This allows for checking if the file is used for the correct camera. This should be an EUI-64 number supplied by the camera, for instance the IEEE1394 GUID. If that is not available for your camera type use another distinguishing criterion like a serial number. If even that cannot be queried from the camera make one up, for instance a checksum of the robot name which carries the camera or even the (shortened) name itself. The camera model is stored as a string and can also be used to discriminate a specific camera. It can also be used for an easier identification of the camera this file belongs to.

Directly following this header the first rectification info is stored. Each info has it's own per-info header defining the size of the info which can be read as offset to the next info block (if there is one). This is followed by more reserved bits. All reserved bits have to be set to zero.

The general layout of the file is the following:

   rectinfo_header_t        (file header, at least one block)
   rectinfo_block_header_t  (info block header, defining size S)
   [rectinfo_TYPE_block_header_t  (type-specific block header)
   <data> of size S - sizeof(type-specific-header).
   optional:
   rectinfo_block_header_t n
   <data> of block n

The first version supports only rectification lookup tables (rectlut, rectification LUT). For this the block type is set to FIREVISION_RECTINFO_TYPE_LUT_16x16, because each mapping consists of two uint16_t values.

typedef struct firevision::_rectinfo_block_header_t firevision::rectinfo_block_header_t

The per-image rectification info block header.

A type can be given for the the following data. See rectinfo_block_type_t for the possible types. The reserved bits may not be used and have to be set to zero. There is also a total size of this info block in bytes. This has to include any type specific header and all data stored in that block. This maybe used for ignoring info blocks of unknown types and proceeding to the next block (if there is one). This header is usually followed by another block type specific header. This depends on the type of data, see rectinfo_block_type_t. A camera identifier is given to specify the image of the camera system. This is necessary for instance if all rectificion info blocks of a stereo camera are named in one file. The interpretation of this field depends on the used camera. Use the constants defined by rectinfo_camera_t whenever possible. If that does not match your situtation you may as well use custom IDs. The range [200:220] has been reserved for this kind of IDs.

typedef struct firevision::_rectinfo_lut_16x16_block_header_t firevision::rectinfo_lut_16x16_block_header_t

Block header for rectification LUTs wit 16-bit values.

The width and height of the rectification LUT is given. The LUT is assumed to be a mapping of pixel coordinates in an image to coordinates in the unrectified image. So following this header there have to be exactly width * height cells of type rectinfo_lut_16x16_entry_t. The rectification then works by iterating of the resulting image and the LUT at the same time. For each pixel in the resulting image the pixel mentioned by the coordinates in the LUT cell from the original image is copied. The maximum LUT size and pixel coordinate values are 65535 (value that can be stored in a 16 bit unsigned integer).

typedef struct firevision::_rectinfo_lut_16x16_entry_t firevision::rectinfo_lut_16x16_entry_t

Data type used to build a rectification LUT.

The values are stored in the endianess of the host system. The LUT has to be stored in memory line by line (height number of lines), each has width number of reclut_lut_entry_t cells. Each cell represents one pixel in the rectified image. The coordinates point to pixel coordinates in the unrectified image. A simple rectification can thus iterate over the rectified image and the rectification LUT and copy the pixel at the coordinates given by the LUT cell to the current pixel of the rectified image.

typedef enum firevision::_rectinfo_block_type_t firevision::rectinfo_block_type_t

Rectification info block type.

An info block may come in different types, probably mainly depending on the data type but also the data structure may change in future versions.

typedef enum firevision::_rectinfo_camera_t firevision::rectinfo_camera_t

Rectification camera.

This describes the camera this info block belongs to. This is especially important if rectification information of multiple images is stored for one camera, e.g. for a stereo camera. The interpretation of this information heavily depends on the used camera type. For single-lens cameras use main as the camera identifier.

typedef struct firevision::_histogram_block_header_t firevision::histogram_block_header_t

Header for a histogram block.

typedef enum firevision::_histogram_block_type_t firevision::histogram_block_type_t

The blocktype of a histogram block.


Enumeration Type Documentation

enum firevision::hint_t

Hint about object.

Enumerator:
H_BALL  ball
H_BACKGROUND  background
H_ROBOT  robot
H_FIELD  field
H_GOAL_YELLOW  yellow goal
H_GOAL_BLUE  blue goal
H_LINE  line
H_UNKNOWN  unknown
H_ROBOT_OPP  opponents robot
H_SIZE  size of enum (Has to be the last entry)

Definition at line 44 of file roi.h.

enum firevision::orientation_t

Orientations.

Enumerator:
ORI_HORIZONTAL  horizontal
ORI_VERTICAL  vertical
ORI_CROSS  cross
ORI_DEG_0  0 degrees
ORI_DEG_45  45 degrees
ORI_DEG_90  90 degrees
ORI_DEG_135  135 degrees
ORI_DEG_180  180 degrees
ORI_DEG_225  225 degrees
ORI_DEG_270  270 degrees
ORI_DEG_315  315 degrees
ORI_DEG_360  360 degrees

Definition at line 44 of file types.h.

enum firevision::color_t

The type "color_t" enumerates all colors that are of interest in the RoboCup-domain.

Enumerator:
C_ORANGE  Orange.
C_BACKGROUND  Background of whatever color.
C_MAGENTA  Magenta.
C_CYAN  Cyan.
C_BLUE  Blue.
C_YELLOW  Yellow.
C_GREEN  Green.
C_WHITE  White.
C_RED  Red.
C_BLACK  Black.
C_OTHER  Other.

Definition at line 61 of file types.h.

enum firevision::coordsys_type_t

datatype to determine the type of the used coordinate system Not that if the robot is positioned at (X=0,Y=0,Ori=0) the robot and world cartesian coordinate systems are the same.

This can help to remember the robot coord sys.

Enumerator:
COORDSYS_UNKNOWN  Unknown.
COORDSYS_ROBOT_CART  robot-centric cartesian coordinate system.

From robot forward is positive X, backward is negative X, right is positive Y, left negative Y

COORDSYS_WORLD_CART  World cartesian coordinate system, center is at the middle of the field, from center to opponent goal is positive X, from center to own goal negative X, from own goal to opponent goal right wing is positive Y, left wing is negative Y.
COORDSYS_ROBOT_POLAR  robot-centric polar coordinate system.

Front is zero rad.

COORDSYS_WORLD_POLAR  world polar coordinate system.

Center is zero. Center to opponent goal is zero rad.

Definition at line 80 of file types.h.

enum firevision::bayer_pattern_t

Bayer pattern enumeration.

This enumeration lists the differen possible bayer patterns.

Enumerator:
BAYER_PATTERN_YYYY  YYYY pattern (no bayer).
BAYER_PATTERN_RGGB  RGGB.
BAYER_PATTERN_GBRG  GBRG.
BAYER_PATTERN_GRBG  GRBG.
BAYER_PATTERN_BGGR  BGGR.

Definition at line 35 of file bayer.h.

enum firevision::colorspace_t

Color spaces.

Enumerator:
CS_UNKNOWN  Unknown color space.
RGB  RGB, three bytes per pixel, one byte per color, ordered line by line.
YUV411_PACKED  YUV image with 4:1:1 sampling, byte order U Y0 Y1 V Y2 Y3.
YUV411_PLANAR  YUV image with 4:1:1 sampling, first Y plane, then U then V plane.
YUY2  YUV image with 4:2:2 sampling, byte order Y0 U Y1 V.
BGR  RGB, 3 bytes per pixel, one byte per color, ordererd line by line, pixels orderd B G R.
YUV422_PACKED  YUV image with 4:2:2 sampling, byte order U Y0 V Y1.
YUV422_PLANAR  YUV image with 4:2:2 sampling, first Y plane, then U then V plane.
GRAY8  plain gray buffer, one byte per pixel
RGB_WITH_ALPHA  RGB with alpha, 4 bytes per pixel, byte order R G B A.
BGR_WITH_ALPHA  RGB with alpha, 4 bytes per pixel, byte order B G R A.
BAYER_MOSAIC_RGGB  Image has RGGB bayer pattern.
BAYER_MOSAIC_GBRG  Image has GBRG bayer pattern.
BAYER_MOSAIC_GRBG  Image has GRBG bayer pattern.
BAYER_MOSAIC_BGGR  Image has BGGR bayer pattern.
RAW16  Raw image, 2 bytes per pixel, format depends on camera.
RAW8  Raw image, 1 byte per pixel, format depends on camera.
MONO8  Like GRAY8.
MONO16  Gray-scale image, 2 bytes per pixel.
YUV444_PACKED  Full sampled YUV, byte order Y U V.
YVU444_PACKED  Full sampled YUV, byte order Y V U.
YVY2  YUV image with 4:2:2 sampling, byte order Y0 V Y1 U.
YUV422_PLANAR_QUARTER  YUV 422 image in planar format, but only quarter of the image, used for scale-conversion target, buffer is YUV422_PLANAR formatted.
CARTESIAN_3D_FLOAT  3D coordinates, one plane for each x, y, and z (planar), values as float in meters
CARTESIAN_3D_DOUBLE  3D coordinates, one plane for each x, y, and z (planar), values as double in meters
COLORSPACE_N  number of colorspaces

Definition at line 36 of file colorspaces.h.

enum firevision::FUSE_version_t

FUSE version enum.

Enumerator:
FUSE_VERSION_1  Version 1.
FUSE_VERSION_2  Version 2.
FUSE_VERSION_3  Version 3 - current.

Definition at line 42 of file fuse.h.

enum firevision::FUSE_message_type_t

FUSE packet types.

Enumerator:
FUSE_MT_GREETING  version
FUSE_MT_IMAGE  image
FUSE_MT_LUT  lookup table
FUSE_MT_IMAGE_LIST  image list
FUSE_MT_LUT_LIST  lut list
FUSE_MT_GET_IMAGE_FAILED  Fetching an image failed.
FUSE_MT_GET_LUT_FAILED  Fetching a LUT failed.
FUSE_MT_SET_LUT_SUCCEEDED  Setting a LUT succeeded.
FUSE_MT_SET_LUT_FAILED  Setting a LUT failed.
FUSE_MT_IMAGE_INFO  image info
FUSE_MT_IMAGE_INFO_FAILED  Retrieval of image info failed.
FUSE_MT_GET_IMAGE  request image
FUSE_MT_GET_LUT  request lookup table
FUSE_MT_SET_LUT  set lookup table
FUSE_MT_GET_IMAGE_LIST  get image list
FUSE_MT_GET_LUT_LIST  get LUT list
FUSE_MT_GET_IMAGE_INFO  get image info

Definition at line 52 of file fuse.h.

enum firevision::FUSE_image_format_t

Image format.

Enumerator:
FUSE_IF_RAW  Raw image.
FUSE_IF_JPEG  JPEG image.

Definition at line 79 of file fuse.h.

enum firevision::_rectinfo_block_type_t

Rectification info block type.

An info block may come in different types, probably mainly depending on the data type but also the data structure may change in future versions.

Enumerator:
FIREVISION_RECTINFO_TYPE_INVALID  invalid
FIREVISION_RECTINFO_TYPE_LUT_16x16  Rectification LUT with 16 bit values, see rectinfo_lut_16x16_block_header_t.

Definition at line 152 of file rectinfo.h.

enum firevision::_rectinfo_camera_t

Rectification camera.

This describes the camera this info block belongs to. This is especially important if rectification information of multiple images is stored for one camera, e.g. for a stereo camera. The interpretation of this information heavily depends on the used camera type. For single-lens cameras use main as the camera identifier.

Enumerator:
FIREVISION_RECTINFO_CAMERA_MAIN  Main image.
FIREVISION_RECTINFO_CAMERA_LEFT  Left image.
FIREVISION_RECTINFO_CAMERA_RIGHT  Right image.
FIREVISION_RECTINFO_CAMERA_CENTER  Center image.
FIREVISION_RECTINFO_CAMERA_TOP  Top image.

Definition at line 166 of file rectinfo.h.

enum firevision::_histogram_block_type_t

The blocktype of a histogram block.

Enumerator:
FIREVISION_HISTOGRAM_TYPE_16  histogram uses 16 bits per cell
FIREVISION_HISTOGRAM_TYPE_32  histogram uses 32 bits per cell

Definition at line 48 of file histogram_block.h.

enum firevision::PNMFormat

PNM subtype.

Enumerator:
PNM_PBM  PBM, B/W.
PNM_PBM_ASCII  PBM, B/W, ASCII.
PNM_PGM  PGM, grey.
PNM_PGM_ASCII  PGM, grey, ASCII.
PNM_PPM  PPM, color.
PNM_PPM_ASCII  PPM, color, ASCII.

Definition at line 39 of file pnm.h.


Function Documentation

void firevision::saveIpoints ( std::string  sFileName,
const std::vector< surf::Ipoint > &  ipts,
bool  bVerbose,
bool  bLaplacian,
int  VLength 
)

saveIpoints save Surf points

Parameters:
sFileName surf file name
ipts surf ipoints (surf::iPoint)
bVerbose verbose mode
bLaplacian laplacian mode

Definition at line 83 of file surf.cpp.

References saveIpoints().

Referenced by saveIpoints(), and firevision::SurfClassifier::SurfClassifier().

void firevision::loadIpoints ( std::string  sFileName,
std::vector< surf::Ipoint > &  ipts,
bool  bVerbose,
int &  __vlen 
)

loadIpoints load interest points

Parameters:
sFileName location of the interest points
ipts vector to store interest points
bVerbose if the saveIpoints was carried out with verbose mode

Definition at line 142 of file surf.cpp.

References loadIpoints().

Referenced by loadIpoints(), and firevision::SurfClassifier::SurfClassifier().

void firevision::convert ( colorspace_t  from,
colorspace_t  to,
const unsigned char *  src,
unsigned char *  dst,
unsigned int  width,
unsigned int  height 
) [inline]

Convert image from one colorspace to another.

This is a convenience method for unified access to all conversion routines available in FireVision.

Parameters:
from colorspace of the src buffer
to colorspace to convert to
src source buffer
dst destination buffer
width width of image in pixels
height height of image in pixels
Exceptions:
Exception thrown, if the desired conversion combination is not available.

Definition at line 56 of file conversions.h.

References BAYER_MOSAIC_GBRG, bayerGBRG_to_yuv422planar_bilinear(), BGR, bgr_to_rgb_plainc(), bgr_to_yuv422planar_plainc(), BGR_WITH_ALPHA, colorspace_buffer_size(), colorspace_to_string(), convert(), GRAY8, gray8_to_yuv422planar_plainc(), gray8_to_yuy2(), MONO8, RGB, rgb_to_bgr_with_alpha_plainc(), rgb_to_rgb_with_alpha_plainc(), rgb_to_yuv411packed_plainc(), rgb_to_yuv422packed_plainc(), rgb_to_yuv422planar_plainc(), RGB_WITH_ALPHA, YUV411_PACKED, YUV411_PLANAR, YUV422_PACKED, YUV422_PLANAR, YUV422_PLANAR_QUARTER, yuv422packed_to_bgr_with_alpha_plainc(), yuv422packed_to_rgb_plainc(), yuv422packed_to_yuv422planar(), yuv422planar_quarter_to_yuv422packed(), yuv422planar_quarter_to_yuv422planar(), yuv422planar_to_bgr_plainc(), yuv422planar_to_bgr_with_alpha_plainc(), yuv422planar_to_rgb_plainc(), yuv422planar_to_rgb_with_alpha_plainc(), yuv422planar_to_yuv422packed(), YUV444_PACKED, yuv444packed_to_yuv422packed(), yuv444packed_to_yuv422planar(), YUY2, yuy2_to_yuv422planar(), yuy2_to_yuv422planar_quarter(), YVU444_PACKED, yvu444packed_to_yuv422packed(), yvu444packed_to_yuv422planar(), YVY2, and yvy2_to_yuv422planar().

Referenced by firevision::TriclopsStereoProcessor::calculate_yuv(), firevision::SiftClassifier::classify(), convert(), firevision::IplImageAdapter::convert_image_bgr(), firevision::FuseImageContent::decompress(), firevision::JpegImageDecompressor::decompress(), ColormapViewerWidget::draw(), ColorTrainWidget::draw_segmentation_result(), FvAcquisitionThread::loop(), firevision::PNMReader::read(), firevision::PNMWriter::set_buffer(), firevision::ImageWidget::show(), and firevision::ImageDisplay::show().

void firevision::rgb_to_rgb_with_alpha_plainc ( const unsigned char *  rgb,
unsigned char *  rgb_alpha,
unsigned int  width,
unsigned int  height 
)

Convert RGB to RGB with alpha values.

This is plain C code without special optimizations.

Parameters:
rgb RGB source buffer
rgb_alpha RGB with alpha destination buffer
width width in pixels
height height in pixels

Definition at line 40 of file rgb.cpp.

References rgb_to_rgb_with_alpha_plainc().

Referenced by convert(), and rgb_to_rgb_with_alpha_plainc().

void firevision::rgb_to_bgr_with_alpha_plainc ( const unsigned char *  rgb,
unsigned char *  bgr_alpha,
unsigned int  width,
unsigned int  height 
)

Convert RGB to BGR with alpha values.

This is plain C code without special optimizations.

Parameters:
rgb RGB source buffer
bgr_alpha BGR with alpha values destination buffer
width width in pixels
height height in pixels

Definition at line 60 of file rgb.cpp.

References rgb_to_bgr_with_alpha_plainc().

Referenced by convert(), and rgb_to_bgr_with_alpha_plainc().

void firevision::bgr_to_rgb_plainc ( const unsigned char *  BGR,
unsigned char *  RGB,
unsigned int  width,
unsigned int  height 
)

Convert BGR to RGB This is plain C code without special optimizations.

Parameters:
bgr BGR source buffer
rgb RGB destination buffer
width width in pixels
height height in pixels

Definition at line 81 of file rgb.cpp.

References firevision::BGR_t::B, firevision::RGB_t::B, bgr_to_rgb_plainc(), firevision::BGR_t::G, firevision::RGB_t::G, firevision::BGR_t::R, and firevision::RGB_t::R.

Referenced by bgr_to_rgb_plainc(), and convert().

void firevision::rgb_to_yuv411packed_plainc ( const unsigned char *  RGB,
unsigned char *  YUV,
unsigned int  width,
unsigned int  height 
)

RGB to YUV Conversion.

Y = (0.257 * R) + (0.504 * G) + (0.098 * B) + 16 Cr = V = (0.439 * R) - (0.368 * G) - (0.071 * B) + 128 Cb = U = -(0.148 * R) - (0.291 * G) + (0.439 * B) + 128

Values have to be clamped to keep them in the [0-255] range. Rumour has it that the valid range is actually a subset of [0-255] (fourcc.org mentions an RGB range of [16-235]) but clamping the values into [0-255] seems to produce acceptable results.

Parameters:
RGB unsigned char array that contains the pixels, pixel after pixel, 3 bytes per pixel (thus this is a 24bit RGB with one byte per color) line by line.
YUV where the YUV output will be written to, will have 4 pixels in 6 byte macro pixel, line after line
width Width of the image contained in the RGB buffer
height Height of the image contained in the RGB buffer

Definition at line 78 of file rgbyuv.cpp.

References firevision::RGB_t::B, firevision::RGB_t::G, firevision::RGB_t::R, and rgb_to_yuv411packed_plainc().

Referenced by convert(), and rgb_to_yuv411packed_plainc().

void firevision::convert_line_rgb_to_yuv422planar ( const unsigned char *  RGB,
unsigned char *  YUV,
unsigned int  width,
unsigned int  height,
unsigned int  rgb_line,
unsigned int  yuv_line 
)

Convert a line of a RGB buffer to a line in a planar YUV422 buffer.

See above for general notes about color space conversion from RGB to YUV.

Parameters:
RGB unsigned char array that contains the pixels, pixel after pixel, 3 bytes per pixel (thus this is a 24bit RGB with one byte per color) line by line.
YUV where the YUV output will be written to, will have 4 pixels in 6 byte macro pixel, line after line
width Width of the image contained in the RGB buffer
height Height of the image contained in the RGB buffer
rgb_line the index of the line to be converted
yuv_line the index of the line to convert to in the YUV buffer

Definition at line 117 of file rgbyuv.cpp.

References firevision::RGB_t::B, convert_line_rgb_to_yuv422planar(), firevision::RGB_t::G, and firevision::RGB_t::R.

Referenced by convert_line_rgb_to_yuv422planar(), firevision::PNGReader::read(), and firevision::JpegReader::read().

void firevision::rgb_to_yuv422planar_plainc ( const unsigned char *  RGB,
unsigned char *  YUV,
unsigned int  width,
unsigned int  height 
)

Convert an RGB buffer to a planar YUV422 buffer.

See above for general notes about color space conversion from RGB to YUV.

Parameters:
RGB unsigned char array that contains the pixels, pixel after pixel, 3 bytes per pixel (thus this is a 24bit RGB with one byte per color) line by line.
YUV where the YUV output will be written to, will have 4 pixels in 6 byte macro pixel, line after line
width Width of the image contained in the RGB buffer
height Height of the image contained in the RGB buffer

Definition at line 161 of file rgbyuv.cpp.

References firevision::RGB_t::B, firevision::RGB_t::G, firevision::RGB_t::R, and rgb_to_yuv422planar_plainc().

Referenced by convert(), and rgb_to_yuv422planar_plainc().

void firevision::bgr_to_yuv422planar_plainc ( const unsigned char *  BGR,
unsigned char *  YUV,
unsigned int  width,
unsigned int  height 
)

Convert an BGR buffer to a planar YUV422 buffer.

See above for general notes about color space conversion from RGB to YUV.

Parameters:
RGB unsigned char array that contains the pixels, pixel after pixel, 3 bytes per pixel (thus this is a 24bit RGB with one byte per color) line by line.
YUV where the YUV output will be written to, will have 4 pixels in 6 byte macro pixel, line after line
width Width of the image contained in the RGB buffer
height Height of the image contained in the RGB buffer

Definition at line 282 of file rgbyuv.cpp.

References firevision::BGR_t::B, bgr_to_yuv422planar_plainc(), firevision::BGR_t::G, and firevision::BGR_t::R.

Referenced by bgr_to_yuv422planar_plainc(), and convert().

void firevision::iyu1_to_yuy2 ( const unsigned char *  src,
unsigned char *  dest,
unsigned int  width,
unsigned int  height 
)

Convert IYU1 to IYU2.

Parameters:
src src buffer
dest destination buffer
width image width
height image height

Definition at line 35 of file yuv.cpp.

References iyu1_to_yuy2().

Referenced by iyu1_to_yuy2().

void firevision::gray8_to_yuy2 ( const unsigned char *  src,
unsigned char *  dest,
unsigned int  width,
unsigned int  height 
)

8-Bit gray to YUY2 conversion This function takes the gray value as Y and sets U and V to 128.

Definition at line 64 of file yuv.cpp.

References gray8_to_yuy2().

Referenced by convert(), and gray8_to_yuy2().

void firevision::gray8_to_yuv422planar_plainc ( const unsigned char *  src,
unsigned char *  dst,
unsigned int  width,
unsigned int  height 
)

8-Bit gray to YUV422_PLANAR

Definition at line 79 of file yuv.cpp.

References gray8_to_yuv422planar_plainc().

Referenced by convert(), and gray8_to_yuv422planar_plainc().

void firevision::yuv422planar_copy_uv ( const unsigned char *  src,
unsigned char *  dst,
unsigned int  width,
unsigned int  height,
unsigned int  x,
unsigned int  y,
unsigned int  copy_width,
unsigned int  copy_height 
)

Copy part of the U anv V planes of a YUV422planar image to another.

Definition at line 93 of file yuv.cpp.

References yuv422planar_copy_uv().

Referenced by firevision::FilterErosion::apply(), firevision::FilterDilation::apply(), and yuv422planar_copy_uv().

void firevision::yuv422planar_to_yuv422packed ( const unsigned char *  planar,
unsigned char *  packed,
unsigned int  width,
unsigned int  height 
)

Convert YUV422_PLANAR images to YUV422_PACKED.

Definition at line 124 of file yuv.cpp.

References yuv422planar_to_yuv422packed().

Referenced by convert(), firevision::ImageDisplay::show(), and yuv422planar_to_yuv422packed().

void firevision::yuv422planar_quarter_to_yuv422packed ( const unsigned char *  planar,
unsigned char *  packed,
const unsigned int  width,
const unsigned int  height 
)

Convert YUV422_PLANAR_QUARTER images to YUV422_PACKED.

Definition at line 143 of file yuv.cpp.

References yuv422planar_quarter_to_yuv422packed().

Referenced by convert(), and yuv422planar_quarter_to_yuv422packed().

void firevision::yuv422planar_quarter_to_yuv422planar ( const unsigned char *  quarter,
unsigned char *  planar,
const unsigned int  width,
const unsigned int  height 
)

Convert YUV422_PLANAR_QUARTER images to YUV422_PLANAR.

Definition at line 179 of file yuv.cpp.

References yuv422planar_quarter_to_yuv422planar().

Referenced by convert(), and yuv422planar_quarter_to_yuv422planar().

void firevision::yuv422packed_to_yuv422planar ( const unsigned char *  packed,
unsigned char *  planar,
unsigned int  width,
unsigned int  height 
)

Convert YUV422_PACKED images to YUV422_PLANAR.

Definition at line 229 of file yuv.cpp.

References yuv422packed_to_yuv422planar().

Referenced by convert(), and yuv422packed_to_yuv422planar().

void firevision::yuy2_to_yuv422planar ( const unsigned char *  packed,
unsigned char *  planar,
unsigned int  width,
unsigned int  height 
)

Convert YUY2 images to YUV422_PLANAR.

Definition at line 256 of file yuv.cpp.

References yuy2_to_yuv422planar().

Referenced by convert(), and yuy2_to_yuv422planar().

void firevision::yvy2_to_yuv422planar ( const unsigned char *  packed,
unsigned char *  planar,
unsigned int  width,
unsigned int  height 
)

Convert YVY2 images to YUV422_PLANAR.

Definition at line 283 of file yuv.cpp.

References yvy2_to_yuv422planar().

Referenced by convert(), and yvy2_to_yuv422planar().

void firevision::yuy2_to_yuv422planar_quarter ( const unsigned char *  packed,
unsigned char *  planar,
const unsigned int  width,
const unsigned int  height 
)

Convert YUY2 images to quarter-sized YUV422_PLANAR buffer.

Definition at line 310 of file yuv.cpp.

References yuy2_to_yuv422planar_quarter().

Referenced by convert(), and yuy2_to_yuv422planar_quarter().

void firevision::yuv444packed_to_yuv422planar ( const unsigned char *  yuv444,
unsigned char *  yuv422,
unsigned int  width,
unsigned int  height 
)

Convert YUV444_PACKED images to YUV422_PLANAR.

Definition at line 339 of file yuv.cpp.

References yuv444packed_to_yuv422planar().

Referenced by convert(), and yuv444packed_to_yuv422planar().

void firevision::yuv411packed_to_rgb_plainc ( const unsigned char *  YUV,
unsigned char *  RGB,
unsigned int  width,
unsigned int  height 
)

YUV to RGB Conversion B = 1.164(Y - 16) + 2.018(U - 128) G = 1.164(Y - 16) - 0.813(V - 128) - 0.391(U - 128) R = 1.164(Y - 16) + 1.596(V - 128).

Values have to be clamped to keep them in the [0-255] range. Rumour has it that the valid range is actually a subset of [0-255] (fourcc.org mentions an RGB range of [16-235] mentioned) but clamping the values into [0-255] seems to produce acceptable results.

Parameters:
YUV unsigned char array that contains the pixels, 4 pixels in 6 byte macro pixel, line after line
RGB where the RGB output will be written to, will have pixel after pixel, 3 bytes per pixel (thus this is a 24bit RGB with one byte per color) line by line.
width Width of the image contained in the YUV buffer
height Height of the image contained in the YUV buffer

Definition at line 51 of file yuvrgb.cpp.

References yuv411packed_to_rgb_plainc().

Referenced by yuv411packed_to_rgb_plainc().

void firevision::yuv422planar_to_rgb_plainc ( const unsigned char *  planar,
unsigned char *  RGB,
unsigned int  width,
unsigned int  height 
)

YUV to RGB Conversion B = 1.164(Y - 16) + 2.018(U - 128) G = 1.164(Y - 16) - 0.813(V - 128) - 0.391(U - 128) R = 1.164(Y - 16) + 1.596(V - 128).

Values have to be clamped to keep them in the [0-255] range. Rumour has it that the valid range is actually a subset of [0-255] (fourcc.org mentions an RGB range of [16-235] mentioned) but clamping the values into [0-255] seems to produce acceptable results.

Parameters:
YUV unsigned char array that contains the pixels, 4 pixels in 6 byte macro pixel, line after line
RGB where the RGB output will be written to, will have pixel after pixel, 3 bytes per pixel (thus this is a 24bit RGB with one byte per color) line by line.
width Width of the image contained in the YUV buffer
height Height of the image contained in the YUV buffer

Definition at line 104 of file yuvrgb.cpp.

References yuv422planar_to_rgb_plainc().

Referenced by convert(), and yuv422planar_to_rgb_plainc().

void firevision::yuv422packed_to_rgb_plainc ( const unsigned char *  YUV,
unsigned char *  RGB,
unsigned int  width,
unsigned int  height 
)

YUV to RGB Conversion B = 1.164(Y - 16) + 2.018(U - 128) G = 1.164(Y - 16) - 0.813(V - 128) - 0.391(U - 128) R = 1.164(Y - 16) + 1.596(V - 128).

Values have to be clamped to keep them in the [0-255] range. Rumour has it that the valid range is actually a subset of [0-255] (fourcc.org mentions an RGB range of [16-235] mentioned) but clamping the values into [0-255] seems to produce acceptable results.

Parameters:
YUV unsigned char array that contains the pixels, 4 pixels in 8 byte macro pixel, line after line
RGB where the RGB output will be written to, will have pixel after pixel, 3 bytes per pixel (thus this is a 24bit RGB with one byte per color) line by line.
width Width of the image contained in the YUV buffer
height Height of the image contained in the YUV buffer

Definition at line 158 of file yuvrgb.cpp.

References yuv422packed_to_rgb_plainc().

Referenced by convert(), and yuv422packed_to_rgb_plainc().

void firevision::yuv422planar_to_bgr_plainc ( const unsigned char *  planar,
unsigned char *  BGR,
unsigned int  width,
unsigned int  height 
)

Convert YUV422 planar to BGR.

Use formula in aforementioned function.

Parameters:
YUV YUV422 planar buffer
BGR BGR buffer
width Width of the image contained in the YUV buffer
height Height of the image contained in the YUV buffer

Definition at line 189 of file yuvrgb.cpp.

References yuv422planar_to_bgr_plainc().

Referenced by convert(), and yuv422planar_to_bgr_plainc().


Variable Documentation

const char* firevision::rectinfo_camera_strings[]

Initial value:

  {
    "Main",
    "Left",
    "Right",
    "Center",
    "Top",
    0
  }
Rectification camera strings.

Follows the index in rectinfo_camera_t and gives a string for each of the cameras.

Definition at line 31 of file rectinfo.cpp.

const char* firevision::rectinfo_type_strings[]

Initial value:

  {
    "Invalid format",
    "Rectification LUT 16x16",
    0
  }

Definition at line 42 of file rectinfo.cpp.

const char* firevision::rectinfo_camera_strings[]

Rectification camera strings.

Follows the index in rectinfo_camera_t and gives a string for each of the cameras.

Definition at line 31 of file rectinfo.cpp.


Generated on Tue Feb 22 13:31:42 2011 for Fawkes API by  doxygen 1.4.7