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:
FontC | Font for rendering text. |
EdgelC | Edge Location, Direction and Magniture information. |
BlueScreenC | Simple and fast blue screen mask generation. |
PixelMapC | Binned hash table of pixels in an image. |
PCPixMapC | Simple mapping between a curve and some pixels. |
PCPixMappingC | Mappings from a curve to a set of pixels. |
Enumerated types:
- enum EdgeStateT { EDGE_PROC = 0, EDGE_UNPROC, EDGE_JUNCT, EDGE_INSTRING } ;
-
- enum FBOrientationT { FB_FORWARD, FB_BACKWARD } ;
-
Typedefs:
Methods:
- 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
- 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.
- istream & operator >>(istream & strm,ByteYUVValueC & val)
-
Stream input.
- ostream & operator <<(ostream & strm,const ByteYUVValueC & val)
-
Stream output.
- 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
- 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
- istream & operator >>(istream & strm,ByteYUV422ValueC & val)
-
Stream input.
- ostream & operator <<(ostream & strm,const ByteYUV422ValueC & val)
-
Stream output.
- 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
- 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
- istream & operator >>(istream & strm,ByteVYUValueC & val)
-
Stream input.
- ostream & operator <<(ostream & strm,const ByteVYUValueC & val)
-
Stream output.
- void DrawFrame(Array2dC<DataT> & dat,const DataT & value,const IndexRange2dC & rect)
-
Draw a rectangle in an image.
- 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)
-
- void DrawLine(Array2dC<DataT> & dat,const DataT & value,const Index2dC & from,const Index2dC & to)
-
Draw a line in an image.
- void DrawCross(Array2dC<DataT> & dat,const DataT & value,const Index2dC & at,UIntT size = 3)
-
Draw a cross in an image.
- void DrawCircle(Array2dC<DataT> & dat,const DataT & value,const Index2dC & center,IntT radius)
-
Draw a circle in an image.
- 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.
- 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.
- ImageC<PixelT> SubSample22(const ImageC<PixelT> & Img)
-
- 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'.
- 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'.
- ostream & operator <<(ostream & s,const EdgelC & edgel)
-
Write to a stream.
- istream & operator >>(istream & s,EdgelC & edgel)
-
Read from a stream.
- EdgeLinkC HysterisisThreshold(const ImageC<RealT> & img,RealT upThr,RealT downThr)
-
- Vector2dC SobelGradient3(const Array2dC<DataT> & img,const Index2dC & pos)
-
Measure the gradient at a point in an image using a 3x3 Sobel operator.
- ostream & operator <<(ostream & os,const ChromaThresholdRGBC & c)
-
- istream & operator >>(istream & is,ChromaThresholdRGBC & c)
-
- 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.
- 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.
- void DilateSubSample2X(ImageC<DataT> & result,const ImageC<DataT> & image,const ImageC<DataT> & kernel)
-
image dilation and subsampling in x direction
- void MorphBinaryOpen(const ImageC<DataT> & image,const ImageC<DataT> & kernel,ImageC<DataT> & result,DataT inRegion = 1)
-
- void MorphBinaryClose(const ImageC<DataT> & image,const ImageC<DataT> & kernel,ImageC<DataT> & result,DataT inRegion = 1)
-
- 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)
-
//////////////////////////////////////////
- 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.
- 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.
- 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
|