User Documentation
RAVL, Recognition And Vision Library
DEVELOP HOME PAGE CLASS LIST CONTENTS
 

namespace RavlImageN
Created: 24/01/2001
User Level:Normal
Library: RavlImage

Comments:

This file is part of RAVL, Recognition And Vision Library Copyright (C) 2001, University of Surrey This code may be redistributed under the terms of the GNU Lesser General Public License (LGPL). See the lgpl.licence file for details or see http://www.gnu.org/copyleft/lesser.html file-header-ends-here //////////////////////////////////////////////////

Child Classes:

#include "Ravl/Image/ImageRectangle.hh"

ImageRectangleC Image Rectangle.
#include "Ravl/Image/Image.hh"

ImageC Basic Image
#include "Ravl/Image/RGBAValue.hh"

RGBAValueC RGBA Pixel.
#include "Ravl/Image/YUVValue.hh"

YUVValueC YUV Pixel base class.
#include "Ravl/Image/ByteRGBValue.hh"

ByteRGBValueC Byte RGB value class.
#include "Ravl/Image/RGBValue.hh"

RGBValueC RGB Pixel base class.
#include "Ravl/Image/ByteRGBAValue.hh"

ByteRGBAValueC Byte RGBA value class.
#include "Ravl/Image/IAValue.hh"

IAValueC Image & Alpha Pixel.
#include "Ravl/Image/ByteYUVValue.hh"

ByteYUVValueC Byte YUV value class.
#include "Ravl/Image/ByteIAValue.hh"

ByteIAValueC Byte Intensity and Alpha value class.
#include "Ravl/Image/RealYUVValue.hh"

RealYUVValueC Real YUV value class.
#include "Ravl/Image/RealRGBValue.hh"

RealRGBValueC Real RGB value class.
#include "Ravl/Image/UInt16RGBValue.hh"

UInt16RGBValueC UInt16 RGB value class.
#include "Ravl/Image/ByteYUVAValue.hh"

ByteYUVAValueC Byte YUVA value class.
#include "Ravl/Image/BGRAValue.hh"

BGRAValueC BGRA Pixel.
#include "Ravl/Image/ByteBGRAValue.hh"

ByteBGRAValueC Byte BGRA value class.
#include "Ravl/Image/YUVAValue.hh"

YUVAValueC YUVA Pixel base class.
#include "Ravl/Image/YUV422Value.hh"

YUV422ValueC YUV422 Pixel base class.
#include "Ravl/Image/ByteYUV422Value.hh"

ByteYUV422ValueC Byte YUV 422 value class.
#include "Ravl/Image/VYUValue.hh"

VYUValueC VYU Pixel base class.
#include "Ravl/Image/ByteVYUValue.hh"

ByteVYUValueC Byte VYU value class.
#include "Ravl/Image/Font.hh"

FontC Font for rendering text.
#include "Ravl/Image/ImgIOPNM.hh"

DPIImagePNMByteRGBC Load a RGB image in PPM format.
DPOImagePNMByteRGBC Save a RGB image in PPM format.
DPIImagePNMByteGreyC Load a byte image in PGM format.
DPOImagePNMByteGreyC Save a byte image in PGM format.
#include "Ravl/Image/PNMFormat.hh"

FileFormatPPMC Create an instance of a PPM File Format.
FileFormatPGMC Create an instance of a PGM File Format.
FileFormatPBMC Create an instance of a PGM File Format.
#include "Ravl/Image/ImgIOCif.hh"

DPIImageCifC Load a YUV image in Cif format.
DPOImageCifC Save a YUV image in Cif format.
#include "Ravl/Image/CifFormat.hh"

FileFormatCifC Create an instance of a Cif File Format.
#include "Ravl/Image/yuvFormat.hh"

FileFormatYUVC Create an instance of a YUV File Format.
#include "Ravl/Image/syuvFormat.hh"

FileFormatSYUVC Create an instance of a YUV File Format.
#include "Ravl/Image/ImgIOyuv.hh"

DPIImageYUVC Load a YUV image in YUV format.
DPOImageYUVC Save a YUV image in YUV format.
#include "Ravl/Image/rgbFormat.hh"

FileFormatRGBC Create an instance of a RGB File Format.
#include "Ravl/Image/rawFormat.hh"

FileFormatRawC Create an instance of a RGB File Format.
#include "Ravl/Image/jsFormat.hh"

FileFormatJSC Create an instance of a Jaleo js File Format.
#include "Ravl/Image/ImgIOjs.hh"

DPIImageJSC Load a Jaleo js file in YUV 422 format.
DPOImageJSC Save a js file in YUV 422 format.
#include "Ravl/Image/ImgIOrgb.hh"

DPIImageRGBC Load a RGB image in RGB format.
DPOImageRGBC Save a RGB image in raw RGB format.
#include "Ravl/Image/MultiVidIO.hh"

DPOMultiVidCMulti-view video sequence output port
FileFormatMultiVidCMulti-view video sequence format definition class
#include "Ravl/Image/ImgIOJPeg.hh"

DPIImageJPegByteRGBC Load a RGB image in JPEG format.
DPOImageJPegByteRGBC Save a RGB image in JPEG format.
DPIImageJPegByteYUVC Load a YUV image in JPEG format.
DPOImageJPegByteYUVC Save a YUV image in JPEG format.
DPIImageJPegByteGreyC Load a Grey image in JPEG format.
DPOImageJPegByteGreyC Save a Grey image in JPEG format.
#include "Ravl/Image/JPEGFormat.hh"

FileFormatJPEGC Create an instance of a JPEG File Format.
#include "Ravl/Image/ImgIOPNG.hh"

DPIImagePNGByteRGBC Load a RGB image in PPM format.
DPOImagePNGByteRGBC Save a RGB image in PPM format.
DPIImagePNGByteGreyC Load a RGB image in PPM format.
DPOImagePNGByteGreyC Save a RGB image in PPM format.
#include "Ravl/Image/PNGFormat.hh"

FileFormatPNGC Create an instance of a PNG File Format.
#include "Ravl/Image/ImgIOTiff.hh"

DPIImageTIFFByteRGBAC Load a RGB image in PPM format.
DPOImageTIFFByteRGBAC Save a RGB image in PPM format.
#include "Ravl/Image/TiffFormat.hh"

FileFormatTIFFC Create an instance of a TIFF File Format.
#include "Ravl/Image/Rectangle2dIter.hh"

Rectangle2dIterC Slide a rectangular window over a larger rectangle.
#include "Ravl/Image/SummedAreaTable.hh"

SummedAreaTableC Summed Area Table.
#include "Ravl/Image/PyramidScan.hh"

PyramidScanC Scan an image from course to fine resolution.
#include "Ravl/Image/ConvolveSeparable2d.hh"

ConvolveSeparable2dC Separable 2D Convolution
#include "Ravl/Image/Convolve2d.hh"

Convolve2dC 2D Convolution
#include "Ravl/Image/ConvolveHorz2d.hh"

ConvolveHorz2dC Horzontal 2D Convolution with a 1D filter.
#include "Ravl/Image/ConvolveVert2d.hh"

ConvolveVert2dC Vertontal 2D Convolution with a 1D filter.
#include "Ravl/Image/BilinearInterpolation.hh"

BilinearInterpolationC Scale an image using bi-Linear Interpolation.
#include "Ravl/Image/HomomorphicFilter.hh"

HomomorphicFilterC Homomorphic filter
#include "Ravl/Image/HistogramEqualise.hh"

HistogramEqualiseC Histogram Equalisation.
#include "Ravl/Image/Correlate2d.hh"

Correlate2dC 2D Convolution
#include "Ravl/Image/EdgeSobel.hh"

EdgeSobelC Sobel edge detection engine.
#include "Ravl/Image/EdgeDeriche.hh"

EdgeDericheC Deriche edge filter.
#include "Ravl/Image/EdgeNonMaxSuppression.hh"

EdgeNonMaxSuppressionC Linear non-maximal suppression.
#include "Ravl/Image/Edgel.hh"

EdgelC Edge Location, Direction and Magniture information.
#include "Ravl/Image/EdgeLink.hh"

EdgeLinkC
#include "Ravl/Image/EdgeDetector.hh"

EdgeDetectorC Edge detector.
#include "Ravl/Image/ChromaThreshold.hh"

ChromaThresholdRGBC Chroma threholding
#include "Ravl/Image/Segmentation.hh"

SegmentationC Segmentation map.
#include "Ravl/Image/ConnectedComponents.hh"

ConnectedComponentsCompairC Default compariston operator for connected components
ConnectedComponentsC Connected component labelling.
#include "Ravl/Image/BlueScreen.hh"

BlueScreenC Simple and fast blue screen mask generation.
#include "Ravl/Image/PixelMap.hh"

PixelMapC Binned hash table of pixels in an image.
#include "Ravl/Image/PixelMapSearch.hh"

PixelMapSearchC Pixel map search base class.
#include "Ravl/Image/PCPixel.hh"

PCIndex2dC Pixel near parametric curve.
#include "Ravl/Image/PCPixelList.hh"

PCPixelListC List of PCPixels.
#include "Ravl/Image/PCMapping.hh"

PCPixMapC Simple mapping between a curve and some pixels.
PCPixMappingC Mappings from a curve to a set of pixels.
#include "Ravl/Image/PPHT.hh"

PPHoughTransformC Progressive Probablistic Hough Transform.
#include "Ravl/Image/Corner.hh"

CornerC Corner descriptor.
#include "Ravl/Image/CornerDetector.hh"

CornerDetectorBodyC Abstract corner detector.
CornerDetectorC Abstract corner detector.
#include "Ravl/Image/CornerDetectorHarris.hh"

CornerDetectorHarrisC Harris corner detector.
#include "Ravl/Image/PointTrack.hh"

PointTrackC Information on a single point track.
#include "Ravl/Image/PointTrackModel.hh"

PointTrackModelC Tracking information on a single point.
#include "Ravl/Image/PointTracker.hh"

PointTrackerC Point tracker.
#include "Ravl/Image/ImgIOV4L.hh"

DPIImageV4LC V4L frame grabber.
#include "Ravl/Image/V4LFormat.hh"

FileFormatV4LC Create an instance of a V4L File Format.
#include "Ravl/Image/ImgIOMeteor1.hh"

DPIImageMeteor1C Meteor1 frame grabber.
#include "Ravl/Image/Meteor1Format.hh"
FileFormatMeteor1C Create an instance of a Meteor1 File Format.
Enumerated types:

#include "Ravl/Image/EdgeLink.hh"
enum EdgeStateT { EDGE_PROC = 0, EDGE_UNPROC, EDGE_JUNCT, EDGE_INSTRING } ;

enum FBOrientationT { FB_FORWARD, FB_BACKWARD } ;

Typedefs:
Methods:

#include "Ravl/Image/YUVValue.hh"
istream & operator >>(istream & strm,YUVValueC<CompT> & val)
Stream input.

ostream & operator <<(ostream & strm,const YUVValueC<CompT> & val)
Stream output.

BinIStreamC & operator >>(BinIStreamC & strm,YUVValueC<CompT> & val)
Binary stream input.

BinOStreamC & operator <<(BinOStreamC & strm,const YUVValueC<CompT> & val)
Binary stream output

#include "Ravl/Image/RGBValue.hh"
istream & operator >>(istream & strm,RGBValueC<CompT> & val)
Stream input.

ostream & operator <<(ostream & strm,const RGBValueC<CompT> & val)
Stream output.

BinIStreamC & operator >>(BinIStreamC & strm,RGBValueC<CompT> & val)
Binary stream input.

BinOStreamC & operator <<(BinOStreamC & strm,const RGBValueC<CompT> & val)
Binary stream output

istream & operator >>(istream & strm,RGBValueC<ByteT> & val)
Stream input.
This is to make sure bytes are handled as numeric values.

ostream & operator <<(ostream & strm,const RGBValueC<ByteT> & val)
Stream output.
This is to make sure bytes are handled as numeric values.

#include "Ravl/Image/ByteYUVValue.hh"
istream & operator >>(istream & strm,ByteYUVValueC & val)
Stream input.

ostream & operator <<(ostream & strm,const ByteYUVValueC & val)
Stream output.

#include "Ravl/Image/YUVAValue.hh"
istream & operator >>(istream & strm,YUVAValueC<CompT> & val)
Stream input.

ostream & operator <<(ostream & strm,const YUVAValueC<CompT> & val)
Stream output.

BinIStreamC & operator >>(BinIStreamC & strm,YUVAValueC<CompT> & val)
Binary stream input.

BinOStreamC & operator <<(BinOStreamC & strm,const YUVAValueC<CompT> & val)
Binary stream output

#include "Ravl/Image/YUV422Value.hh"
istream & operator >>(istream & strm,YUV422ValueC<CompT> & val)
Stream input.

ostream & operator <<(ostream & strm,const YUV422ValueC<CompT> & val)
Stream output.

BinIStreamC & operator >>(BinIStreamC & strm,YUV422ValueC<CompT> & val)
Binary stream input.

BinOStreamC & operator <<(BinOStreamC & strm,const YUV422ValueC<CompT> & val)
Binary stream output

#include "Ravl/Image/ByteYUV422Value.hh"
istream & operator >>(istream & strm,ByteYUV422ValueC & val)
Stream input.

ostream & operator <<(ostream & strm,const ByteYUV422ValueC & val)
Stream output.

#include "Ravl/Image/Deinterlace.hh"
Array2dC<DataT> Deinterlace(Array2dC<DataT> & img,bool field1Dom = true)
Deinterlace two fields held in a single frame.
This is an inplace operation and works by rearranging the row pointers in the returned frame. This makes it very quick, but may cause problems with functions that assume a simple linear memory layout for 2d arrays

Array2dC<DataT> DeinterlaceSubsample(Array2dC<DataT> & img,bool field1Dom = true)
Deinterlace and subsample, i.e. returns image that is half the size

#include "Ravl/Image/VYUValue.hh"
istream & operator >>(istream & strm,VYUValueC<CompT> & val)
Stream input.

ostream & operator <<(ostream & strm,const VYUValueC<CompT> & val)
Stream output.

BinIStreamC & operator >>(BinIStreamC & strm,VYUValueC<CompT> & val)
Binary stream input.

BinOStreamC & operator <<(BinOStreamC & strm,const VYUValueC<CompT> & val)
Binary stream output

#include "Ravl/Image/ByteVYUValue.hh"
istream & operator >>(istream & strm,ByteVYUValueC & val)
Stream input.

ostream & operator <<(ostream & strm,const ByteVYUValueC & val)
Stream output.

#include "Ravl/Image/DrawFrame.hh"
void DrawFrame(Array2dC<DataT> & dat,const DataT & value,const IndexRange2dC & rect)
Draw a rectangle in an image.

#include "Ravl/Image/Font.hh"
FontC LoadPSF1(const StringC & fontFile)
Load PSF1 font.

FontC LoadPSF2(const StringC & fontFile)
Load PSF2 font.

FontC & DefaultFont()
Access default font.

void DrawText(const FontC & font,const DataT & value,const Index2dC & offset,const StringC & text,ImageC<DataT> & image)

void DrawTextCenter(const FontC & font,const DataT & value,const Index2dC & offset,const StringC & text,ImageC<DataT> & image)

#include "Ravl/Image/DrawLine.hh"
void DrawLine(Array2dC<DataT> & dat,const DataT & value,const Index2dC & from,const Index2dC & to)
Draw a line in an image.

#include "Ravl/Image/DrawCross.hh"
void DrawCross(Array2dC<DataT> & dat,const DataT & value,const Index2dC & at,UIntT size = 3)
Draw a cross in an image.

#include "Ravl/Image/DrawCircle.hh"
void DrawCircle(Array2dC<DataT> & dat,const DataT & value,const Index2dC & center,IntT radius)
Draw a circle in an image.

#include "Ravl/Image/ImageConv.hh"
ImageC<ByteRGBValueC> ByteRGBAImageCT2ByteRGBImageCT(const ImageC<ByteRGBAValueC> & dat)
Byte RGBA to Byte RGB image

ImageC<ByteRGBAValueC> ByteRGBImageCT2ByteRGBAImageCT(const ImageC<ByteRGBValueC> & dat)
Byte RGB to Byte RGBA image

ImageC<RealT> ByteImageCT2DoubleImageCT(const ImageC<ByteT> & dat)
Byte to double image.

ImageC<IntT> ByteImageCT2IntImageCT(const ImageC<ByteT> & dat)
Byte to int image.

ImageC<RealT> IntImageCT2DoubleImageCT(const ImageC<IntT> & dat)
Int to double image.

ImageC<ByteRGBValueC> ByteImageCT2ByteRGBImageCT(const ImageC<ByteT> & dat)
Byte grey level to colour image.

ImageC<ByteYUVValueC> ByteImageCT2ByteYUVImageCT(const ImageC<ByteT> & dat)
Byte grey level to byte YUV colour image.

ImageC<ByteT> DoubleImageCT2ByteImageCT(const ImageC<RealT> & dat)
Double -> Byte (clipped to fit)
This will clip, then round the double value (NOT floor!) to fit in a byte value 0 to 255.

ImageC<RealRGBValueC> RealYUVImageCT2RealRGBImageCT(const ImageC<RealYUVValueC> & dat)
Real YUV -> RGB

ImageC<RealYUVValueC> RealRGBImageCT2RealYUVImageCT(const ImageC<RealRGBValueC> & dat)
Real RGB -> YUV

ImageC<ByteT> ByteYUVImageCT2ByteImageCT(const ImageC<ByteYUVValueC> & dat)
Byte grey level to byte YUV colour image.

ImageC<ByteT> RGBImageCT2ByteImageCT(const ImageC<ByteRGBValueC> & dat)
Byte colour to byte grey image.

ImageC<RealT> RGBImageCT2DoubleImageCT(const ImageC<ByteRGBValueC> & dat)
Byte Colour to double image.

ImageC<ByteRGBValueC> YUVImageCT2RGBImageCT(const ImageC<ByteYUVValueC> & dat)
Byte YUV to byte RGB image.

ImageC<ByteYUVValueC> RGBImageCT2YUVImageCT(const ImageC<ByteRGBValueC> & dat)
Byte RGB to byte YUV image.

#include "Ravl/Image/SobolImage.hh"
ImageC<UIntT> SobolImage(const ImageRectangleC & rect)
Generate a sobel image of a given size.
Each pixel image is set to it place in a Sobol sequence.

#include "Ravl/Image/SubSample.hh"
ImageC<PixelT> SubSample22(const ImageC<PixelT> & Img)

#include "Ravl/Image/PeakDetector.hh"
bool PeakDetect3(const Array2dC<DataT> & img,const Index2dC & pos)
Test if position 'pos' is the largest value in a 3 by 3 area.
Is is the users responsibility to ensure that all pixels around 'pos' are in the image.

bool PeakDetect5(const Array2dC<DataT> & img,const Index2dC & pos)
Test if position 'pos' is the largest value in a 5 by 5 area.
Is is the users responsibility to ensure that all pixels around 'pos' are in the image. The corners of the area are not mask to bring the area checked closer to a circle.

bool PeakDetect7(const Array2dC<DataT> & img,const Index2dC & pos)
Test if position 'pos' is the largest value in a 7 by 7 area.
Is is the users responsibility to ensure that all pixels around 'pos' are in the image. The corners of the area are not mask to bring the area checked closer to a circle.

Point2dC LocatePeakSubPixel(const Array2dC<DataT> & img,const Index2dC & pos,RealT pof)
Locate peak with sub-pixel precision.
Fits a quadratic to the peak and works out the center. The position of the peak is returned. 'img' should contain values surrounding the center of the peak at 'pos'.

Point2dC LocatePeakSubPixel(const Array2dC<DataT> & img,const Index2dC & pos)
Locate peak with sub-pixel precision.
Fits a quadratic to the peak and works out the center. The position of the peak is returned. 'img' should contain values surrounding the center of the peak at 'pos'.

#include "Ravl/Image/Matching.hh"
SumT MatchSumAbsDifference(const Array2dC<DataT> & imgTemplate,const Array2dC<DataT> & img,const Index2dC & origin,SumT & diff)
Compute the sum of absolute differences between two images.
'imgTemplate' is the template to match.
'img' is the image we're searching.
'origin' is the position in the image to check.
'diff' is used to accumulate the differences between the images.

SumT SearchMinAbsDifference(const Array2dC<DataT> & tmpl,const Array2dC<DataT> & img,const IndexRange2dC & area,Index2dC & at,SumT & rminScore)
Search img for template 'tmpl' with the minimum absolute difference.
Returns the score minum score found, and sets 'at' to the position it occured at. The position is the pixel in 'img' corresponding to 0,0 in 'imgTemplate'.

#include "Ravl/Image/Edgel.hh"
ostream & operator <<(ostream & s,const EdgelC & edgel)
Write to a stream.

istream & operator >>(istream & s,EdgelC & edgel)
Read from a stream.

#include "Ravl/Image/EdgeLink.hh"
EdgeLinkC HysterisisThreshold(const ImageC<RealT> & img,RealT upThr,RealT downThr)

#include "Ravl/Image/Gradient.hh"
Vector2dC SobelGradient3(const Array2dC<DataT> & img,const Index2dC & pos)
Measure the gradient at a point in an image using a 3x3 Sobel operator.

#include "Ravl/Image/ChromaThreshold.hh"
ostream & operator <<(ostream & os,const ChromaThresholdRGBC & c)

istream & operator >>(istream & is,ChromaThresholdRGBC & c)

#include "Ravl/Image/Erode.hh"
void BinaryErode(const ImageC<DataT> & image,const ImageC<DataT> & kernel,ImageC<DataT> & result,DataT inRegion = 1)
Binary erosion
This code does not deal with boundry conditions, the output rectangle is smaller than the input. The center of the kernel is take to be the origin (0,0), the results are placed in the corresponding location in the 'result' image. If results rectangle is not large enough it will be reallocated.

#include "Ravl/Image/Dilate.hh"
void BinaryDilate(const ImageC<DataT> & image,const ImageC<DataT> & kernel,ImageC<DataT> & result,DataT inRegion = 1)
Binary dilation
This code does not deal with boundry conditions, the output rectangle is smaller than the input. The center of the kernel is take to be the origin (0,0), the results are placed in the corresponding location in the 'result' image. If results rectangle is not large enough it will be reallocated.

#include "Ravl/Image/DilateSubSample2X.hh"
void DilateSubSample2X(ImageC<DataT> & result,const ImageC<DataT> & image,const ImageC<DataT> & kernel)
image dilation and subsampling in x direction

#include "Ravl/Image/MorphOpen.hh"
void MorphBinaryOpen(const ImageC<DataT> & image,const ImageC<DataT> & kernel,ImageC<DataT> & result,DataT inRegion = 1)

#include "Ravl/Image/MorphClose.hh"
void MorphBinaryClose(const ImageC<DataT> & image,const ImageC<DataT> & kernel,ImageC<DataT> & result,DataT inRegion = 1)

#include "Ravl/Image/PCMapping.hh"
ostream & operator <<(ostream & strm,const PCPixMapC<CurveT> & data)

istream & operator >>(istream & strm,PCPixMapC<CurveT> & data)
Mappings from a curve to a set of pixels.

ostream & operator <<(ostream & strm,const PCPixMappingC<CurveT> & data)

istream & operator >>(istream & strm,PCPixMappingC<CurveT> & data)
//////////////////////////////////////////

#include "Ravl/Image/Corner.hh"
ostream & operator <<(ostream & out,const CornerC & corn)
Write corner to a stream.

istream & operator >>(istream & in,CornerC & corn)
Read corner from a stream.
//////////////////////////////////// A somewhat arbitary distance messure between two corners.

#include "Ravl/Image/PointTrack.hh"
ostream & operator <<(ostream & strm,const PointTrackC & pt)
Save to ostream.

istream & operator >>(istream & strm,PointTrackC & pt)
Load from istream.

Information on a single point track.

#include "Ravl/Image/PointTrackModel.hh"
ostream & operator <<(ostream & strm,const PointTrackModelC & pt)
Save to ostream.

istream & operator >>(istream & strm,PointTrackModelC & pt)
Load from istream.

Tracking information on a single point.


Documentation by CxxDoc: Tue Aug 13 09:59:28 2002