Basic Image AlgorithmS Library  2.8.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Static Public Member Functions | Static Protected Member Functions | Static Protected Attributes | List of all members
BIAS::ImageConvertThreaded Class Reference

Converts images between different color models using multiple threads. More...

#include <Base/Image/ImageConvertThreaded.hh>

+ Inheritance diagram for BIAS::ImageConvertThreaded:
+ Collaboration diagram for BIAS::ImageConvertThreaded:

Public Member Functions

template<>
int BGRAToHSL_ (const Image< unsigned char > &source, Image< unsigned char > &dest)
 
template<>
int BGRToHSL_ (const Image< unsigned char > &source, Image< unsigned char > &dest)
 
template<>
int DVToRGB_ (const Image< unsigned char > &source, Image< unsigned char > &dest, unsigned char quality)
 
template<class StorageType >
int FromInterleaved (const Image< StorageType > &source, Image< StorageType > &Image1, Image< StorageType > &Image2, Image< StorageType > &Image3)
 
 ImageConvertThreaded ()
 
template<>
int RGBToHSL_ (const Image< float > &source1, Image< float > &dest)
 
template<>
int RGBToHSL_ (const Image< unsigned char > &source, Image< unsigned char > &dest)
 
template<>
BIASImageBase_EXPORT int RGBTohsL_ (const Image< int > &source, Image< int > &dest)
 
template<>
BIASImageBase_EXPORT int RGBTohsL_ (const Image< float > &source, Image< float > &dest)
 
template<>
BIASImageBase_EXPORT int RGBTohsL_ (const Image< unsigned char > &source, Image< unsigned char > &dest)
 
template<>
int RGBToHSV_ (const Image< float > &source1, Image< float > &dest)
 
template<>
int RGBToHSV_ (const Image< unsigned char > &source, Image< unsigned char > &dest)
 
template<class StorageType >
int ToInterleavedRGB (const Image< StorageType > &red, const Image< StorageType > &green, const Image< StorageType > &blue, Image< StorageType > &dest)
 
 ~ImageConvertThreaded ()
 

Static Public Member Functions

template<class StorageType >
static int BayerToRGB (const Image< StorageType > &source, Image< StorageType > &dest, BayerDemosaicMethod method=BAYER_DEMOSAIC_METHOD_BILINEAR, bool flip=false)
 converts an image with bayer pattern to rgb More...
 
template<class StorageType >
static int BayerToRGB_ (const Image< StorageType > &source, Image< StorageType > &dest)
 added border calculation, woelk evers, woelk More...
 
template<class StorageType >
static int BayerToRGBSimple (const StorageType *source, StorageType *dest, int sx, int sy, ImageBase::EColorModel tile)
 
static int BIAS2ImageMagick (const BIAS::ImageBase &input, Magick::Image &dest)
 Returns a new, separate ImageMagick Image for use with ImageMagick created from the source BIAS Image. More...
 
template<class StorageType >
static int BIAS2ipl (const Image< StorageType > &source, IplImage *&dest)
 Returns a new, separate IplImage for use with OpenCV created rom the source BIAS Image. More...
 
static int Convert (BIAS::ImageBase &source, BIAS::ImageBase &dest, enum BIAS::ImageBase::EColorModel targetColorModel, bool bPlanar=false)
 main general conversion function, calls desired specialized functions, always initializes the destImage(if not source==dest) More...
 
static int ConvertST (const BIAS::ImageBase &source, BIAS::ImageBase &dest, ImageBase::EStorageType targetST)
 Function to convert the storage type of images e.g. More...
 
static int ConvertThreaded (BIAS::ImageBase &source, BIAS::ImageBase &dest, enum BIAS::ImageBase::EColorModel targetColorModel, bool bPlanar=false, const int num_threads=2)
 Convert using num_threads threads. More...
 
static int DeinterleaveHorizontal (const BIAS::ImageBase &raw, BIAS::ImageBase &out)
 Take Pointgrey X3B packed interleaved raw and store there three contained images side by side keeping the Bayer pattern. More...
 
template<class StorageType >
static int DVToRGB_ (const Image< StorageType > &source, Image< StorageType > &dest, unsigned char quality=4)
 foreign image formats, ipl, vil, ImageMagick More...
 
template<class StorageType >
static BIASImageBase_EXPORT int FromInterleaved (const Image< StorageType > &source, Image< StorageType > &Image1, Image< StorageType > &Image2, Image< StorageType > &Image3)
 Extracts color planes to argument images without changing source. More...
 
template<class StorageType >
static int GetChannel (const Image< StorageType > &source, Image< StorageType > &dest, const unsigned int channel)
 Create a new image dest by cropping one of the source images channels. More...
 
template<class StorageType >
static int GetChannel (Image< StorageType > &image, int channel, bool strip=false)
 in place: Crop the selected channel. More...
 
static int GetChannel (ImageBase &image, int channel, bool strip=false)
 in place: Crop the selected channel. More...
 
template<class StorageType >
static BIASImageBase_EXPORT int HSVToRGB (const StorageType h, const StorageType s, const StorageType v, StorageType &r, StorageType &g, StorageType &b)
 conversion of one pixel in HSV to RGB colorspace More...
 
static int ImageMagick2BIAS (Magick::Image &image, BIAS::ImageBase &result)
 Returns a new, separate BIAS Image created from the source ImageMagick Image. More...
 
template<class StorageType >
static int IP_ToGrey (Image< StorageType > &img)
 In place conversion to gray image. More...
 
template<class StorageType >
static int Ipl2BIAS (IplImage *source, Image< StorageType > &dest)
 Takes the image information and data of an existing IplImage and builds a Image. More...
 
template<class StorageType >
static int LUVToRGB (const BIAS::Image< float > &source, BIAS::Image< StorageType > &dest, float scale=255.0)
 Convert LUV image to a RGB color space image. More...
 
static int LUVToXYZ (const BIAS::Image< float > &source, BIAS::Image< float > &dest)
 Convert LUV image to a XYZ color space image. More...
 
static int RGBToI1I2I3 (const BIAS::ImageBase &source, BIAS::Image< float > &dest)
 Converts RGB image to Othe's principle component generalization for RGB based segmentation. More...
 
static int RGBToLAB (const BIAS::ImageBase &source, BIAS::Image< float > &dest, float scale=255.0)
 Convert RGB image to a LAB color space image. More...
 
static int RGBToLUV (const BIAS::ImageBase &source, BIAS::Image< float > &dest, float scale=255.0)
 Convert RGB image to a LUV color space image. More...
 
static int RGBToXYZ (const BIAS::ImageBase &source, BIAS::Image< float > &dest, float scale=255.0)
 
static int ToGrey (const ImageBase &source, ImageBase &dest)
 wrapper for the templated function ToGrey More...
 
template<class StorageType >
static int ToGrey (const Image< StorageType > &source, Image< StorageType > &dest)
 Create a grey converted copy of source image in this. More...
 
template<class StorageType >
static BIASImageBase_EXPORT int ToHSL (const Image< StorageType > &source, Image< StorageType > &dest)
 Create a HSL converted copy of source image in this Release() and Init() are called if necessary. More...
 
template<class StorageType >
static BIASImageBase_EXPORT int TohsL (const Image< StorageType > &source, Image< StorageType > &dest)
 Create a hsL converted copy of source image in this Release() and Init() are called if necessary. More...
 
template<class StorageType >
static BIASImageBase_EXPORT int ToHSV (const Image< StorageType > &source, Image< StorageType > &dest)
 Create a HSV converted copy of source image in this Release() and Init() are called if necessary. More...
 
template<class StorageType >
static BIASImageBase_EXPORT int ToInterleaved (const Image< StorageType > &source, Image< StorageType > &dest)
 Takes the source image, and build an interleaved version. More...
 
template<class StorageType >
static BIASImageBase_EXPORT int ToInterleavedRGB (const Image< StorageType > &red, const Image< StorageType > &green, const Image< StorageType > &blue, Image< StorageType > &dest)
 Takes the three channels and composes one interleaved RGB image. More...
 
template<class StorageType >
static BIASImageBase_EXPORT int ToPlanar (const Image< StorageType > &source, Image< StorageType > &dest)
 Converts the existing image to an planar version. More...
 
template<class StorageType >
static int ToRGB (const Image< StorageType > &source, Image< StorageType > &dest)
 Create a RGB converted copy of source image in this. More...
 
template<class StorageType >
static int ToRGBA (const Image< StorageType > &source, Image< StorageType > &dest)
 Create a RGBA converted copy of source image in dest. More...
 
static int XYZToLAB (const BIAS::Image< float > &source, BIAS::Image< float > &dest)
 Convert XYZ image to a LAB color space image. More...
 
static int XYZToLUV (const BIAS::Image< float > &source, BIAS::Image< float > &dest)
 Convert XYZ image to a LUV color space image. More...
 
template<class StorageType >
static int XYZToRGB (const BIAS::Image< float > &source, BIAS::Image< StorageType > &dest, float scale=255.0)
 

Static Protected Member Functions

template<class StorageType >
static int BayerToGrey_ (const Image< StorageType > &source, Image< StorageType > &dest)
 interpolates, better than above More...
 
template<class StorageType >
static int BayerToRGBAHD_ (const StorageType *source, StorageType *dest, int sx, int sy, ImageBase::EColorModel tile, int bits)
 
template<class StorageType >
static int BayerToRGBBilinear_ (const StorageType *source, StorageType *dest, int sx, int sy, ImageBase::EColorModel tile)
 
static int BayerToRGBHQLinear_ (const unsigned char *source, unsigned char *dest, int sx, int sy, ImageBase::EColorModel tile)
 
static int BayerToRGBHQLinear_ (const unsigned short *source, unsigned short *dest, int sx, int sy, ImageBase::EColorModel tile, int bits)
 
template<class StorageType >
static int BayerToRGBNearestNeighbour_ (const StorageType *source, StorageType *dest, int sx, int sy, ImageBase::EColorModel tile)
 
template<class StorageType >
static int BayerToRGBSimple_ (const StorageType *source, StorageType *dest, int sx, int sy, ImageBase::EColorModel tile)
 
template<class StorageType >
static int BayerToRGBSlow_ (const Image< StorageType > &source, Image< StorageType > &dest)
 this is the right way, green interpoaltion is mostly done out of two values no visible difference to fast calculation as used above More...
 
template<class StorageType >
static int BGRAToGrey_ (const Image< StorageType > &source, Image< StorageType > &dest)
 not tested - use at own risk - alpha channel will be ignored More...
 
template<class StorageType >
static int BGRAToHSL_ (const Image< StorageType > &source, Image< StorageType > &dest)
 
template<class StorageType >
static int BGRAToRGB_ (const Image< StorageType > &source, Image< StorageType > &dest)
 
template<class StorageType >
static int BGRToHSL_ (const Image< StorageType > &source, Image< StorageType > &dest)
 
template<class StorageType >
static int BGRToRGB_ (const Image< StorageType > &source, Image< StorageType > &dest)
 
template<class StorageType >
static void ClearBorders_ (StorageType *rgb, int sx, int sy, int w)
 
template<class StorageType >
static void CLIP (StorageType &in, StorageType &out)
 
template<class StorageType >
static void CLIP16 (StorageType &in, StorageType &out, StorageType bits)
 
template<class sourceType >
static void ConvertRGBToI1I2I3Worker_ (const sourceType *soP, float *siP, int size)
 
static void * ConvertThread_ (void *arg)
 
static int FloatToUC_ (const ImageBase &source, ImageBase &dest)
 
template<class StorageType >
static int FromInterleavedRGB_ (const Image< StorageType > &source, Image< StorageType > &R, Image< StorageType > &G, Image< StorageType > &B)
 
template<class StorageType >
static int FromInterleavedYUYV422_ (const Image< StorageType > &source, Image< StorageType > &Y, Image< StorageType > &U, Image< StorageType > &V)
 
template<class StorageType >
static int GreyToRGB_ (const Image< StorageType > &source, Image< StorageType > &dest)
 
template<class StorageType >
static int HSLToGrey_ (const Image< StorageType > &source, Image< StorageType > &dest)
 just copies the L channel More...
 
template<class StorageType >
static int HSLToRGB_ (const BIAS::Image< StorageType > &source, BIAS::Image< StorageType > &dest)
 
template<class StorageType >
static int HSVToRGB_ (const Image< StorageType > &source, Image< StorageType > &dest)
 
template<class StorageType >
static int IP_RGBToGrey_ (Image< StorageType > &img)
 
template<class StorageType >
static int IP_YUV422ToGrey_ (Image< StorageType > &img)
 
static void MergeImage_ (const std::vector< ImageBase > &parts, ImageBase &dest)
 
template<class StorageType >
static int RGBAToRGB_ (const Image< StorageType > &source, Image< StorageType > &dest)
 
template<class StorageType >
static int RGBToGrey_ (const Image< StorageType > &source, Image< StorageType > &dest)
 
template<class StorageType >
static int RGBToHSL_ (const Image< StorageType > &source, Image< StorageType > &dest)
 
template<class StorageType >
static int RGBTohsL_ (const Image< StorageType > &source, Image< StorageType > &dest)
 
template<class StorageType >
static int RGBToHSV_ (const Image< StorageType > &source, Image< StorageType > &dest)
 so far only implemented for StorageType=float More...
 
static void SplitImage_ (const ImageBase &source, const int num, std::vector< ImageBase > &parts)
 
template<class StorageType >
static int ToInterleavedRGB_ (const Image< StorageType > &source, Image< StorageType > &dest)
 
template<class StorageType >
static int ToInterleavedYUYV422_ (const Image< StorageType > &source, Image< StorageType > &dest)
 
template<class StorageType >
static int ToPlanarRGB_ (const Image< StorageType > &source, Image< StorageType > &dest)
 
template<class StorageType >
static int ToPlanarYUYV422_ (const Image< StorageType > &source, Image< StorageType > &dest)
 
template<class StorageType >
static int YUV411ToGrey_ (const Image< StorageType > &source, Image< StorageType > &dest)
 
template<class StorageType >
static int YUV420PToGrey_ (const Image< StorageType > &source, Image< StorageType > &dest)
 
template<class StorageType >
static int YUV420PToRGB_ (const Image< StorageType > &source, Image< StorageType > &dest)
 
template<class StorageType >
static int YUV422ToGrey_ (const Image< StorageType > &source, Image< StorageType > &dest)
 
template<class StorageType >
static int YUV422ToRGB_ (const Image< StorageType > &source, Image< StorageType > &dest)
 

Static Protected Attributes

static dv_decoder_t * DVDecoder_ = NULL
 

Detailed Description

Converts images between different color models using multiple threads.

Definition at line 38 of file ImageConvertThreaded.hh.

Constructor & Destructor Documentation

BIAS::ImageConvertThreaded::ImageConvertThreaded ( )

Definition at line 18 of file ImageConvertThreaded.cpp.

BIAS::ImageConvertThreaded::~ImageConvertThreaded ( )

Definition at line 23 of file ImageConvertThreaded.cpp.

Member Function Documentation

template<class StorageType >
int BIAS::ImageConvert::BayerToGrey_ ( const Image< StorageType > &  source,
Image< StorageType > &  dest 
)
staticprotectedinherited

interpolates, better than above

Author
woelk 03 2003

Definition at line 1962 of file ImageConvert.cpp.

References BIAS::ImageBase::GetColorModel(), BIAS::ImageBase::GetHeight(), BIAS::Image< StorageType >::GetImageData(), and BIAS::ImageBase::GetWidth().

template<class StorageType >
template BIASImageBase_EXPORT int ImageConvert::BayerToRGB ( const Image< StorageType > &  source,
Image< StorageType > &  dest,
BayerDemosaicMethod  method = BAYER_DEMOSAIC_METHOD_BILINEAR,
bool  flip = false 
)
staticinherited

converts an image with bayer pattern to rgb

Author
bangerer 05/2009
Parameters
source[in],:source image
dest[out],:destination image
method[in],:choose the demosaicing method from several methods drom BayerDemosaicMethod enum. standard is bilinear
flip[in],:flip the image horizontal after converting it to rgb
Examples:
ExampleDcamImageConvert.cpp.

Definition at line 2584 of file ImageConvert.cpp.

References BIAS::BAYER_DEMOSAIC_METHOD_AHD, BIAS::BAYER_DEMOSAIC_METHOD_BILINEAR, BIAS::BAYER_DEMOSAIC_METHOD_HQLINEAR, BIAS::BAYER_DEMOSAIC_METHOD_NEAREST, BIAS::BAYER_DEMOSAIC_METHOD_SIMPLE, BIAS::BAYER_DEMOSAIC_METHOD_VNG, BIAS::ImageBase::FlipHorizontal(), BIAS::ImageBase::GetBitDepth(), BIAS::ImageBase::GetColorModel(), BIAS::ImageBase::GetHeight(), BIAS::Image< StorageType >::GetImageData(), BIAS::ImageBase::GetStorageType(), and BIAS::ImageBase::GetWidth().

template<class StorageType >
int BIAS::ImageConvert::BayerToRGB_ ( const Image< StorageType > &  source,
Image< StorageType > &  dest 
)
staticinherited
template<class StorageType >
template BIASImageBase_EXPORT int ImageConvert::BayerToRGBAHD_ ( const StorageType *  source,
StorageType *  dest,
int  sx,
int  sy,
ImageBase::EColorModel  tile,
int  bits 
)
staticprotectedinherited

Definition at line 5011 of file ImageConvert.cpp.

template<class StorageType >
template BIASImageBase_EXPORT int ImageConvert::BayerToRGBBilinear_ ( const StorageType *  source,
StorageType *  dest,
int  sx,
int  sy,
ImageBase::EColorModel  tile 
)
staticprotectedinherited

Definition at line 4416 of file ImageConvert.cpp.

int ImageConvert::BayerToRGBHQLinear_ ( const unsigned char *  source,
unsigned char *  dest,
int  sx,
int  sy,
ImageBase::EColorModel  tile 
)
staticprotectedinherited

Definition at line 4614 of file ImageConvert.cpp.

int ImageConvert::BayerToRGBHQLinear_ ( const unsigned short *  source,
unsigned short *  dest,
int  sx,
int  sy,
ImageBase::EColorModel  tile,
int  bits 
)
staticprotectedinherited

Definition at line 4811 of file ImageConvert.cpp.

template<class StorageType >
template BIASImageBase_EXPORT int ImageConvert::BayerToRGBNearestNeighbour_ ( const StorageType *  source,
StorageType *  dest,
int  sx,
int  sy,
ImageBase::EColorModel  tile 
)
staticprotectedinherited

Definition at line 4511 of file ImageConvert.cpp.

template<class StorageType >
template BIASImageBase_EXPORT int ImageConvert::BayerToRGBSimple ( const StorageType *  source,
StorageType *  dest,
int  sx,
int  sy,
ImageBase::EColorModel  tile 
)
staticinherited

Definition at line 4328 of file ImageConvert.cpp.

template<class StorageType >
template BIASImageBase_EXPORT int ImageConvert::BayerToRGBSimple_ ( const StorageType *  source,
StorageType *  dest,
int  sx,
int  sy,
ImageBase::EColorModel  tile 
)
staticprotectedinherited

Definition at line 4335 of file ImageConvert.cpp.

template<class StorageType >
int BIAS::ImageConvert::BayerToRGBSlow_ ( const Image< StorageType > &  source,
Image< StorageType > &  dest 
)
staticprotectedinherited

this is the right way, green interpoaltion is mostly done out of two values no visible difference to fast calculation as used above

Author
woelk 03 2003

Definition at line 2651 of file ImageConvert.cpp.

References BIAS::ImageBase::GetColorModel(), BIAS::ImageBase::GetHeight(), BIAS::Image< StorageType >::GetImageData(), BIAS::ImageBase::GetWidth(), BIAS::ImageBase::GetWidthStep(), and BIAS::ImageBase::SetROI().

template<class StorageType >
int BIAS::ImageConvert::BGRAToGrey_ ( const Image< StorageType > &  source,
Image< StorageType > &  dest 
)
staticprotectedinherited

not tested - use at own risk - alpha channel will be ignored

Definition at line 738 of file ImageConvert.cpp.

References BIAS::ImageBase::GetColorModel(), BIAS::ImageBase::GetHeight(), BIAS::Image< StorageType >::GetImageData(), BIAS::ImageBase::GetWidth(), and BIAS::ImageBase::IsPlanar().

template<>
int BIAS::ImageConvert::BGRAToHSL_ ( const Image< unsigned char > &  source,
Image< unsigned char > &  dest 
)
inherited
template<class StorageType >
int BIAS::ImageConvert::BGRAToHSL_ ( const Image< StorageType > &  source,
Image< StorageType > &  dest 
)
staticprotectedinherited

Definition at line 477 of file ToHSL.cpp.

References BIAS::ImageBase::GetStorageType().

template<class StorageType >
int BIAS::ImageConvert::BGRAToRGB_ ( const Image< StorageType > &  source,
Image< StorageType > &  dest 
)
staticprotectedinherited
template<>
int BIAS::ImageConvert::BGRToHSL_ ( const Image< unsigned char > &  source,
Image< unsigned char > &  dest 
)
inherited
template<class StorageType >
int BIAS::ImageConvert::BGRToHSL_ ( const Image< StorageType > &  source,
Image< StorageType > &  dest 
)
staticprotectedinherited

Definition at line 348 of file ToHSL.cpp.

References BIAS::ImageBase::GetStorageType().

template<class StorageType >
int BIAS::ImageConvert::BGRToRGB_ ( const Image< StorageType > &  source,
Image< StorageType > &  dest 
)
staticprotectedinherited
int BIAS::ImageConvert::BIAS2ImageMagick ( const BIAS::ImageBase input,
Magick::Image &  dest 
)
staticinherited
template<class StorageType >
int ImageConvert::BIAS2ipl ( const Image< StorageType > &  source,
IplImage *&  dest 
)
staticinherited

Returns a new, separate IplImage for use with OpenCV created rom the source BIAS Image.

The dest has to be a call by reference "*&" because the pointer itself is changed due to new. The colorChannel order is swapped because OpenCv used BGR - which may be inefficient. See WrapBias2Ipl class, too.

Returns
newly created IplImage
Todo:
ROIs are not yet kept, when converted to IplImages
Author
Ingo Thomsen 04.05.2002, Jan Woetzel 2005
Examples:
ExampleIpl.cpp.

Definition at line 3803 of file ImageConvert.cpp.

References BIAS::ImageBase::GetChannelCount(), BIAS::ImageBase::GetColorModel(), BIAS::ImageBase::GetHeight(), BIAS::Image< StorageType >::GetImageData(), BIAS::ImageBase::GetPixelCount(), BIAS::ImageBase::GetSizeByte(), BIAS::ImageBase::GetWidth(), and BIAS::ImageBase::IsPlanar().

Referenced by BIAS::LEDDetector::Compute().

template<class StorageType >
template BIASImageBase_EXPORT void ImageConvert::ClearBorders_ ( StorageType *  rgb,
int  sx,
int  sy,
int  w 
)
staticprotectedinherited

Definition at line 4591 of file ImageConvert.cpp.

template<class StorageType >
template BIASImageBase_EXPORT void ImageConvert::CLIP ( StorageType &  in,
StorageType &  out 
)
staticprotectedinherited

Definition at line 5017 of file ImageConvert.cpp.

template<class StorageType >
template BIASImageBase_EXPORT void ImageConvert::CLIP16 ( StorageType &  in,
StorageType &  out,
StorageType  bits 
)
staticprotectedinherited

Definition at line 5024 of file ImageConvert.cpp.

int ImageConvert::Convert ( BIAS::ImageBase source,
BIAS::ImageBase dest,
enum BIAS::ImageBase::EColorModel  targetColorModel,
bool  bPlanar = false 
)
staticinherited
template<class sourceType >
void BIAS::ImageConvert::ConvertRGBToI1I2I3Worker_ ( const sourceType *  soP,
float *  siP,
int  size 
)
staticprotectedinherited

Definition at line 1434 of file ImageConvert.cpp.

int ImageConvert::ConvertST ( const BIAS::ImageBase source,
BIAS::ImageBase dest,
ImageBase::EStorageType  targetST 
)
staticinherited

Function to convert the storage type of images e.g.

from unsigned char to float or any other

Parameters
source[in],:the source image
dest[out],:the target image
targetST[in],:the storage type of the new target image
Author
Friso Evers
Examples:
EvaluateAlignment.cpp, ExampleAlignment.cpp, ExampleBilateral.cpp, ExampleCornerDetector.cpp, ExampleDeInterlace.cpp, ExampleDeInterlace2.cpp, ExampleLineMatcher.cpp, ExampleMedian.cpp, ExampleMixtureOfGaussians.cpp, ExampleRescale.cpp, ExampleStructureTensor.cpp, ExampleTracker.cpp, ExampleTrackerBase.cpp, and ExampleTrackerBaseInterface.cpp.

Definition at line 2841 of file ImageConvert.cpp.

References BIAS::ImageBase::GetChannelCount(), BIAS::ImageBase::GetColorModel(), BIAS::ROI::GetCorners(), BIAS::ImageBase::GetHeight(), BIAS::ImageBase::GetImageData(), BIAS::ImageBase::GetPixelCount(), BIAS::ImageBase::GetROI(), BIAS::ImageBase::GetStorageType(), BIAS::ImageBase::GetWidth(), BIAS::ImageBase::Init(), BIAS::ImageBase::IsEmpty(), BIAS::ImageBase::Release(), BIAS::ImageBase::SetColorModel(), and BIAS::ROI::SetCorners().

Referenced by BIAS::CornerDetectorGradient< StorageType, CalculationType >::_CalcCornerness(), BIAS::VideoSink_FFmpeg::AddFrame(), BIAS::GuiBase::ConvertToUC_(), BIAS::FilterDialogBase< InputST, OutputST >::CopyOriginalImage(), BIAS::MixtureOfGaussians< StorageType >::CreateNormalizedImage_(), BIAS::CornerDetectorGradient< StorageType, CalculationType >::Detect(), BIAS::Dilation< InputStorageType, OutputStorageType >::Dilate3Fast(), BIAS::ImageIO::ExportLibJPEG(), BIAS::GaussThreshold< InputStorageType, OutputStorageType >::Filter(), BIAS::Gauss< InputStorageType, OutputStorageType >::Filter(), BIAS::DistTransform< InputStorageType, OutputStorageType >::Filter(), BIAS::Label::Filter(), BIAS::SphericalDepthPanorama::GetPanorama(), BIAS::CylindricDepthPanorama::GetPanorama(), BIAS::SphericalDepthPanorama::GetTriangleMesh(), BIAS::CylindricDepthPanorama::GetTriangleMesh(), BIAS::VideoSource_PMD::GrabSingle(), BIAS::ImageConvert::HSLToRGB_(), BIAS::ShowCamWxFrame::InitCombinedImage(), BIAS::Label::Label4Neighbour(), BIAS::ExampleMixtureOfGaussiansFrame::OnTimer(), BIAS::Tracker< StorageType, CalculationType >::PreparePyramide(), BIAS::Label::Process(), BIAS::BlobDetectorCCA< StorageType >::Process_(), BIAS::CylindricDepthPanorama::ProcessCylindricProjection(), BIAS::ImageLegendFrame::SetImage(), BIAS::ScaledImageCanvas::Show(), BIAS::GuiBase::ShowImage(), BIAS::ConvertHDR< StorageType >::ToUnsignedCharGamma(), and BIAS::ScaledImageCanvas::UpdateScaleOffset().

void * BIAS::ImageConvertThreaded::ConvertThread_ ( void *  arg)
staticprotected

Definition at line 86 of file ImageConvertThreaded.cpp.

References BIAS::ImageConvert::Convert().

int BIAS::ImageConvertThreaded::ConvertThreaded ( BIAS::ImageBase source,
BIAS::ImageBase dest,
enum BIAS::ImageBase::EColorModel  targetColorModel,
bool  bPlanar = false,
const int  num_threads = 2 
)
static
int ImageConvert::DeinterleaveHorizontal ( const BIAS::ImageBase raw,
BIAS::ImageBase out 
)
staticinherited

Take Pointgrey X3B packed interleaved raw and store there three contained images side by side keeping the Bayer pattern.

data: abcABC –> aAbBcC

Author
Jan Woetzel

Definition at line 3998 of file ImageConvert.cpp.

References BIAS::ImageBase::GetChannelCount(), BIAS::ImageBase::GetColorModel(), BIAS::ImageBase::GetHeight(), BIAS::ImageBase::GetImageDataArray(), BIAS::ImageBase::GetStorageType(), BIAS::ImageBase::GetWidth(), BIAS::ImageBase::Init(), BIAS::ImageBase::IsEmpty(), BIAS::ImageBase::Release(), and BIAS::ImageBase::SetColorModel().

Referenced by BIAS::ShowCamWxFrame::SelectAndShowCameraImage_().

template<class StorageType >
int BIAS::ImageConvert::DVToRGB_ ( const Image< StorageType > &  source,
Image< StorageType > &  dest,
unsigned char  quality = 4 
)
staticinherited

foreign image formats, ipl, vil, ImageMagick

Can specify speed/quality trade off 0 : monochrome , DC coeffs only 1 : monochrome , AC 1 coeffs 2 : color , DC coeffs only 3 : color , AC 1 coeffs 4 : color, AC 2 coeffs (slowest but best quality)

Definition at line 1887 of file ImageConvert.cpp.

template<>
int BIAS::ImageConvert::DVToRGB_ ( const Image< unsigned char > &  source,
Image< unsigned char > &  dest,
unsigned char  quality 
)
inherited
int ImageConvert::FloatToUC_ ( const ImageBase source,
ImageBase dest 
)
staticprotectedinherited
template<class StorageType >
int BIAS::ImageConvert::FromInterleaved ( const Image< StorageType > &  source,
Image< StorageType > &  Image1,
Image< StorageType > &  Image2,
Image< StorageType > &  Image3 
)
inherited
template<class StorageType >
static BIASImageBase_EXPORT int BIAS::ImageConvert::FromInterleaved ( const Image< StorageType > &  source,
Image< StorageType > &  Image1,
Image< StorageType > &  Image2,
Image< StorageType > &  Image3 
)
staticinherited

Extracts color planes to argument images without changing source.

So far only implemented for CM_YUYV422

Author
Felix Woelk alpha (18/04/2002)
template<class StorageType >
int BIAS::ImageConvert::FromInterleavedRGB_ ( const Image< StorageType > &  source,
Image< StorageType > &  R,
Image< StorageType > &  G,
Image< StorageType > &  B 
)
staticprotectedinherited
template<class StorageType >
int BIAS::ImageConvert::FromInterleavedYUYV422_ ( const Image< StorageType > &  source,
Image< StorageType > &  Y,
Image< StorageType > &  U,
Image< StorageType > &  V 
)
staticprotectedinherited
template<class StorageType >
int BIAS::ImageConvert::GetChannel ( const Image< StorageType > &  source,
Image< StorageType > &  dest,
const unsigned int  channel 
)
staticinherited

Create a new image dest by cropping one of the source images channels.

Unlike GetChannel(Image<StorageType>& image, int channel), this one really creates a new single-channel image with the selected channel of the source. fkellner: Other GetChannels now have "strip" param, doing the same in-place.

Author
Patrick Fittkau

Definition at line 545 of file ImageConvert.cpp.

References BIAS::ImageBase::ChannelCount_, BIAS::ImageBase::Depth_, BIAS::ImageBase::GetChannelCount(), BIAS::ImageBase::GetHeight(), BIAS::Image< StorageType >::GetImageData(), BIAS::ImageBase::GetStorageType(), BIAS::ImageBase::GetWidth(), BIAS::Image< StorageType >::Init(), BIAS::ImageBase::IsEmpty(), BIAS::ImageBase::IsPlanar(), BIAS::Image< StorageType >::Release(), BIAS::ImageBase::SetColorModel(), BIAS::ImageBase::Width_, and BIAS::ImageBase::WidthStep_.

template<class StorageType >
int BIAS::ImageConvert::GetChannel ( Image< StorageType > &  image,
int  channel,
bool  strip = false 
)
staticinherited

in place: Crop the selected channel.

(will actually copy values from selected channel to all other channels)

Parameters
image[in,out],:input image which will have only one channel, other channels are thrown away
Author
Christoffer Menk, fkellner

Definition at line 460 of file ImageConvert.cpp.

References BIAS::ImageBase::ChannelCount_, BIAS::ImageBase::Depth_, BIAS::ImageBase::GetChannelCount(), BIAS::Image< StorageType >::GetImageData(), BIAS::ImageBase::GetPixelCount(), BIAS::ImageBase::ImageData_, BIAS::ImageBase::SetColorModel(), BIAS::ImageBase::UpdateImageDataArrayFromImageData_(), BIAS::ImageBase::Width_, and BIAS::ImageBase::WidthStep_.

int BIAS::ImageConvert::GetChannel ( ImageBase image,
int  channel,
bool  strip = false 
)
staticinherited

in place: Crop the selected channel.

(will actually copy values from selected channel to all other channels)

Parameters
image[in,out],:input image which will have only one channel, other channels are thrown away
Author
Christian Beder, fkellner

Definition at line 497 of file ImageConvert.cpp.

References BIAS::ImageBase::ChannelCount_, BIAS::ImageBase::Depth_, BIAS::ImageBase::GetChannelCount(), BIAS::ImageBase::GetDepth(), BIAS::ImageBase::GetImageData(), BIAS::ImageBase::GetPixelCount(), BIAS::ImageBase::ImageData_, BIAS::ImageBase::SetColorModel(), BIAS::ImageBase::UpdateImageDataArrayFromImageData_(), BIAS::ImageBase::Width_, and BIAS::ImageBase::WidthStep_.

template<class StorageType >
int BIAS::ImageConvert::GreyToRGB_ ( const Image< StorageType > &  source,
Image< StorageType > &  dest 
)
staticprotectedinherited
template<class StorageType >
int BIAS::ImageConvert::HSLToGrey_ ( const Image< StorageType > &  source,
Image< StorageType > &  dest 
)
staticprotectedinherited
template<class StorageType >
int BIAS::ImageConvert::HSLToRGB_ ( const BIAS::Image< StorageType > &  source,
BIAS::Image< StorageType > &  dest 
)
staticprotectedinherited
template<class StorageType >
BIASImageBase_EXPORT int BIAS::ImageConvert::HSVToRGB ( const StorageType  h,
const StorageType  s,
const StorageType  v,
StorageType &  r,
StorageType &  g,
StorageType &  b 
)
staticinherited

conversion of one pixel in HSV to RGB colorspace

Date
06/2010
Returns
0 on sucess, < 0 otherwise
Parameters
[in]h,s,v: HSV values
[out]r,g,b: calculated RGB values
Author
ischiller

Definition at line 434 of file ToHSV.cpp.

Referenced by BIAS::ImageConvert::HSVToRGB_(), and BIAS::ImageValueBar< StorageType >::Update().

template<class StorageType >
int BIAS::ImageConvert::HSVToRGB_ ( const Image< StorageType > &  source,
Image< StorageType > &  dest 
)
staticprotectedinherited
int BIAS::ImageConvert::ImageMagick2BIAS ( Magick::Image &  image,
BIAS::ImageBase result 
)
staticinherited

Returns a new, separate BIAS Image created from the source ImageMagick Image.

Returns
newly created BIAS image
Author
ischiller

LibMagick: imcs is RGB even for one channel images (bug?)

Definition at line 3644 of file ImageConvert.cpp.

References BIAS::ImageBase::GetDepth(), BIAS::ImageBase::GetImageData(), BIAS::ImageBase::GetStorageType(), BIAS::ImageBase::Init(), BIAS::ImageBase::IsEmpty(), BIAS::ImageBase::PrintHeader(), BIAS::ImageBase::Release(), and BIAS::ImageBase::SetBitDepth().

Referenced by BIAS::ImageIO::ImportMagickPP(), and BIAS::ImageDraw< StorageType >::TextIM().

template<class StorageType >
int BIAS::ImageConvert::IP_RGBToGrey_ ( Image< StorageType > &  img)
staticprotectedinherited
template<class StorageType >
int BIAS::ImageConvert::IP_ToGrey ( Image< StorageType > &  img)
staticinherited

In place conversion to gray image.

No further memory is allocated, because only the the first part of the existing image is used.

Author
Felix Woelk
Examples:
ExampleBilateral.cpp, ExamplePyramidImage.cpp, and ExampleUpsampleBy2Grey.cpp.

Definition at line 854 of file ImageConvert.cpp.

References BIAS::ImageBase::ChannelCount_, BIAS::ImageBase::Depth_, BIAS::ImageBase::GetColorModel(), BIAS::ImageBase::SetColorModel(), BIAS::ImageBase::UpdateImageDataArrayFromImageData_(), BIAS::ImageBase::Width_, and BIAS::ImageBase::WidthStep_.

Referenced by BIAS::ImageIO::Save().

template<class StorageType >
int BIAS::ImageConvert::IP_YUV422ToGrey_ ( Image< StorageType > &  img)
staticprotectedinherited
template<class StorageType >
int ImageConvert::Ipl2BIAS ( IplImage *  source,
BIAS::Image< StorageType > &  dest 
)
staticinherited

Takes the image information and data of an existing IplImage and builds a Image.

The existing data is discarded.

Author
Ingo Thomsen
Date
04.17.2002
Returns
-1 in case of failure
Parameters
imageThe IplImage to be transfered untested
Todo:

Make it work for colored images

Make it work for ROIs

Examples:
ExampleIpl.cpp.

Definition at line 3946 of file ImageConvert.cpp.

References BIAS::Image< StorageType >::GetImageData(), BIAS::ImageBase::GetSizeByte(), BIAS::Image< StorageType >::Init(), BIAS::ImageBase::IsEmpty(), and BIAS::Image< StorageType >::Release().

template<class StorageType >
int ImageConvert::LUVToRGB ( const BIAS::Image< float > &  source,
BIAS::Image< StorageType > &  dest,
float  scale = 255.0 
)
staticinherited

Convert LUV image to a RGB color space image.

Author
frick

Definition at line 1297 of file ImageConvert.cpp.

int ImageConvert::LUVToXYZ ( const BIAS::Image< float > &  source,
BIAS::Image< float > &  dest 
)
staticinherited
void BIAS::ImageConvertThreaded::MergeImage_ ( const std::vector< ImageBase > &  parts,
ImageBase dest 
)
staticprotected
template<class StorageType >
int BIAS::ImageConvert::RGBAToRGB_ ( const Image< StorageType > &  source,
Image< StorageType > &  dest 
)
staticprotectedinherited
template<class StorageType >
int BIAS::ImageConvert::RGBToGrey_ ( const Image< StorageType > &  source,
Image< StorageType > &  dest 
)
staticprotectedinherited
template<>
int BIAS::ImageConvert::RGBToHSL_ ( const Image< float > &  source1,
Image< float > &  dest 
)
inherited
template<>
int BIAS::ImageConvert::RGBToHSL_ ( const Image< unsigned char > &  source,
Image< unsigned char > &  dest 
)
inherited
template<class StorageType >
int BIAS::ImageConvert::RGBToHSL_ ( const Image< StorageType > &  source,
Image< StorageType > &  dest 
)
staticprotectedinherited

Definition at line 83 of file ToHSL.cpp.

References BIAS::ImageBase::GetStorageType().

template<class StorageType >
int BIAS::ImageConvert::RGBTohsL_ ( const Image< StorageType > &  source,
Image< StorageType > &  dest 
)
staticprotectedinherited

Definition at line 603 of file ToHSL.cpp.

References BIAS::ImageBase::GetStorageType().

template<>
BIASImageBase_EXPORT int BIAS::ImageConvert::RGBTohsL_ ( const Image< int > &  source,
Image< int > &  dest 
)
inherited
template<>
BIASImageBase_EXPORT int BIAS::ImageConvert::RGBTohsL_ ( const Image< float > &  source,
Image< float > &  dest 
)
inherited
template<>
BIASImageBase_EXPORT int BIAS::ImageConvert::RGBTohsL_ ( const Image< unsigned char > &  source,
Image< unsigned char > &  dest 
)
inherited
template<>
int BIAS::ImageConvert::RGBToHSV_ ( const Image< float > &  source1,
Image< float > &  dest 
)
inherited
template<>
int BIAS::ImageConvert::RGBToHSV_ ( const Image< unsigned char > &  source,
Image< unsigned char > &  dest 
)
inherited
template<class StorageType >
int BIAS::ImageConvert::RGBToHSV_ ( const Image< StorageType > &  source,
Image< StorageType > &  dest 
)
staticprotectedinherited

so far only implemented for StorageType=float

Definition at line 65 of file ToHSV.cpp.

int BIAS::ImageConvert::RGBToI1I2I3 ( const BIAS::ImageBase source,
BIAS::Image< float > &  dest 
)
staticinherited
int ImageConvert::RGBToLAB ( const BIAS::ImageBase source,
BIAS::Image< float > &  dest,
float  scale = 255.0 
)
staticinherited

Convert RGB image to a LAB color space image.

Author
frick

Definition at line 1281 of file ImageConvert.cpp.

int ImageConvert::RGBToLUV ( const BIAS::ImageBase source,
BIAS::Image< float > &  dest,
float  scale = 255.0 
)
staticinherited

Convert RGB image to a LUV color space image.

Author
frick

Definition at line 1267 of file ImageConvert.cpp.

int ImageConvert::RGBToXYZ ( const BIAS::ImageBase source,
BIAS::Image< float > &  dest,
float  scale = 255.0 
)
staticinherited
void BIAS::ImageConvertThreaded::SplitImage_ ( const ImageBase source,
const int  num,
std::vector< ImageBase > &  parts 
)
staticprotected
int BIAS::ImageConvert::ToGrey ( const ImageBase source,
ImageBase dest 
)
staticinherited
template<class StorageType >
int BIAS::ImageConvert::ToGrey ( const Image< StorageType > &  source,
Image< StorageType > &  dest 
)
staticinherited
template<class StorageType >
BIASImageBase_EXPORT int BIAS::ImageConvert::ToHSL ( const Image< StorageType > &  source,
Image< StorageType > &  dest 
)
staticinherited

Create a HSL converted copy of source image in this Release() and Init() are called if necessary.

only for float and unsigned char

Author
Daniel Grest, April 2003 tested for unsigned char interleaved
Examples:
ExampleCondensHisto.cpp.

Definition at line 36 of file ToHSL.cpp.

References BIAS::ImageBase::CM_BGR, BIAS::ImageBase::CM_BGRA, BIAS::ImageBase::CM_HSL, BIAS::ImageBase::CM_RGB, BIAS::ImageBase::CM_UYVY422, BIAS::ImageBase::GetColorModel(), BIAS::ImageBase::GetHeight(), BIAS::ImageBase::GetStorageType(), BIAS::ImageBase::GetWidth(), BIAS::Image< StorageType >::Init(), BIAS::ImageBase::IsEmpty(), BIAS::ImageBase::SetColorModel(), and BIAS::ImageConvert::ToRGB().

template<class StorageType >
BIASImageBase_EXPORT int BIAS::ImageConvert::TohsL ( const Image< StorageType > &  source,
Image< StorageType > &  dest 
)
staticinherited

Create a hsL converted copy of source image in this Release() and Init() are called if necessary.

only for unsigned char similar to HSL but in euclidean coordinates for the CNCC

Author
Daniel Grest, June 2003 tested for unsigned char interleaved

Definition at line 571 of file ToHSL.cpp.

References BIAS::ImageBase::CM_hsL, BIAS::ImageBase::CM_RGB, BIAS::ImageBase::GetBitDepth(), BIAS::ImageBase::GetChannelCount(), BIAS::ImageBase::GetColorModel(), BIAS::ImageBase::GetHeight(), BIAS::ImageBase::GetStorageType(), BIAS::ImageBase::GetWidth(), BIAS::Image< StorageType >::Init(), BIAS::ImageBase::IsEmpty(), BIAS::ImageBase::SamePixelAndChannelCount(), and BIAS::ImageBase::SetColorModel().

template<class StorageType >
BIASImageBase_EXPORT int BIAS::ImageConvert::ToHSV ( const Image< StorageType > &  source,
Image< StorageType > &  dest 
)
staticinherited

Create a HSV converted copy of source image in this Release() and Init() are called if necessary.

HSV space is implemented as a cylinder not as a cone! only for float and unsigned char

Author
Felix Woelk partially tested

Definition at line 34 of file ToHSV.cpp.

References BIAS::ImageBase::CM_HSV, BIAS::ImageBase::CM_RGB, BIAS::ImageBase::GetChannelCount(), BIAS::ImageBase::GetColorModel(), BIAS::ImageBase::GetHeight(), BIAS::ImageBase::GetStorageType(), BIAS::ImageBase::GetWidth(), BIAS::Image< StorageType >::Init(), BIAS::ImageBase::IsEmpty(), BIAS::ImageBase::SamePixelAndChannelCount(), and BIAS::ImageBase::SetColorModel().

template<class StorageType >
BIASImageBase_EXPORT int BIAS::ImageConvert::ToInterleaved ( const Image< StorageType > &  source,
Image< StorageType > &  dest 
)
staticinherited

Takes the source image, and build an interleaved version.

Author
Ingo Thomsen
Date
11.06.2002 tested
Todo:
make it work for yuv
Examples:
ExampleHarrisColor.cpp, and ExampleToPlanar.cpp.

Definition at line 33 of file ToInterleaved.cpp.

References BIAS::ImageBase::CM_BGR, BIAS::ImageBase::CM_Grey, BIAS::ImageBase::CM_HSV, BIAS::ImageBase::CM_RGB, and BIAS::ImageBase::GetColorModel().

template<class StorageType >
int BIAS::ImageConvert::ToInterleavedRGB ( const Image< StorageType > &  red,
const Image< StorageType > &  green,
const Image< StorageType > &  blue,
Image< StorageType > &  dest 
)
inherited
template<class StorageType >
static BIASImageBase_EXPORT int BIAS::ImageConvert::ToInterleavedRGB ( const Image< StorageType > &  red,
const Image< StorageType > &  green,
const Image< StorageType > &  blue,
Image< StorageType > &  dest 
)
staticinherited

Takes the three channels and composes one interleaved RGB image.

template<class StorageType >
int BIAS::ImageConvert::ToInterleavedRGB_ ( const Image< StorageType > &  source,
Image< StorageType > &  dest 
)
staticprotectedinherited
template<class StorageType >
int BIAS::ImageConvert::ToInterleavedYUYV422_ ( const Image< StorageType > &  source,
Image< StorageType > &  dest 
)
staticprotectedinherited

Definition at line 100 of file ToInterleaved.cpp.

template<class StorageType >
BIASImageBase_EXPORT int BIAS::ImageConvert::ToPlanar ( const Image< StorageType > &  source,
Image< StorageType > &  dest 
)
staticinherited
template<class StorageType >
int BIAS::ImageConvert::ToPlanarRGB_ ( const Image< StorageType > &  source,
Image< StorageType > &  dest 
)
staticprotectedinherited
template<class StorageType >
int BIAS::ImageConvert::ToPlanarYUYV422_ ( const Image< StorageType > &  source,
Image< StorageType > &  dest 
)
staticprotectedinherited
template<class StorageType >
int BIAS::ImageConvert::ToRGB ( const Image< StorageType > &  source,
Image< StorageType > &  dest 
)
staticinherited
template<class StorageType >
int BIAS::ImageConvert::ToRGBA ( const Image< StorageType > &  source,
Image< StorageType > &  dest 
)
staticinherited
int ImageConvert::XYZToLAB ( const BIAS::Image< float > &  source,
BIAS::Image< float > &  dest 
)
staticinherited
int ImageConvert::XYZToLUV ( const BIAS::Image< float > &  source,
BIAS::Image< float > &  dest 
)
staticinherited
template<class StorageType >
int ImageConvert::XYZToRGB ( const BIAS::Image< float > &  source,
BIAS::Image< StorageType > &  dest,
float  scale = 255.0 
)
staticinherited
template<class StorageType >
int BIAS::ImageConvert::YUV411ToGrey_ ( const Image< StorageType > &  source,
Image< StorageType > &  dest 
)
staticprotectedinherited
template<class StorageType >
int BIAS::ImageConvert::YUV420PToGrey_ ( const Image< StorageType > &  source,
Image< StorageType > &  dest 
)
staticprotectedinherited
template<class StorageType >
int BIAS::ImageConvert::YUV420PToRGB_ ( const Image< StorageType > &  source,
Image< StorageType > &  dest 
)
staticprotectedinherited
template<class StorageType >
int BIAS::ImageConvert::YUV422ToGrey_ ( const Image< StorageType > &  source,
Image< StorageType > &  dest 
)
staticprotectedinherited
template<class StorageType >
int BIAS::ImageConvert::YUV422ToRGB_ ( const Image< StorageType > &  source,
Image< StorageType > &  dest 
)
staticprotectedinherited

Member Data Documentation

dv_decoder_t * ImageConvert::DVDecoder_ = NULL
staticprotectedinherited

Definition at line 606 of file ImageConvert.hh.


The documentation for this class was generated from the following files: