1 #include "bias_config.h"
9 #define INSTANCE_ImageConvert(type)\
10 template BIASImageBase_EXPORT int ImageConvert::IP_ToGrey(BIAS::Image<type> &img);\
11 template BIASImageBase_EXPORT int ImageConvert::ToGrey(const BIAS::Image<type>& source, BIAS::Image<type>& dest);\
12 template BIASImageBase_EXPORT int ImageConvert::GetChannel(BIAS::Image<type>& image, int channel, bool strip);\
13 template BIASImageBase_EXPORT int ImageConvert::GetChannel(const BIAS::Image<type>& source, BIAS::Image<type>& dest, unsigned int channel);\
14 template BIASImageBase_EXPORT int ImageConvert::ToRGB(const BIAS::Image<type>& source, BIAS::Image<type>& dest);\
15 template BIASImageBase_EXPORT int ImageConvert::ToRGBA(const BIAS::Image<type>& source, BIAS::Image<type>& dest);\
16 template BIASImageBase_EXPORT int ImageConvert::ToHSV(const BIAS::Image<type>& source,BIAS::Image<type>& dest);\
17 template BIASImageBase_EXPORT int ImageConvert::HSVToRGB(const type h,const type s,const type v, type& r,type& g, type& b);\
18 template BIASImageBase_EXPORT int ImageConvert::ToHSL(const BIAS::Image<type>& source,BIAS::Image<type>& dest);\
19 template BIASImageBase_EXPORT int ImageConvert::TohsL(const BIAS::Image<type>& source,BIAS::Image<type>& dest);\
20 template BIASImageBase_EXPORT int ImageConvert::ToInterleaved(const BIAS::Image<type>& source, BIAS::Image<type>& dest);\
21 template BIASImageBase_EXPORT int ImageConvert::ToInterleavedRGB(const BIAS::Image<type>& red, const BIAS::Image<type>& green, const BIAS::Image<type>& blue, BIAS::Image<type>& dest);\
22 template BIASImageBase_EXPORT int ImageConvert::ToPlanar(const BIAS::Image<type>& source, BIAS::Image<type>& dest);\
23 template BIASImageBase_EXPORT int ImageConvert::FromInterleaved(const BIAS::Image<type>& source, BIAS::Image<type>& Image1, BIAS::Image<type>& Image2, BIAS::Image<type>& Image3);\
24 template BIASImageBase_EXPORT int ImageConvert::IP_RGBToGrey_(BIAS::Image<type> &img);\
25 template BIASImageBase_EXPORT int ImageConvert::IP_YUV422ToGrey_(BIAS::Image<type> &img);\
26 template BIASImageBase_EXPORT int ImageConvert::BGRToRGB_(const BIAS::Image<type>& source, BIAS::Image<type>& dest);\
27 template BIASImageBase_EXPORT int ImageConvert::YUV422ToRGB_(const BIAS::Image<type>& source, BIAS::Image<type>& dest);\
28 template BIASImageBase_EXPORT int ImageConvert::GreyToRGB_(const BIAS::Image<type>& source, BIAS::Image<type>& dest);\
29 template BIASImageBase_EXPORT int ImageConvert::RGBToGrey_(const BIAS::Image<type>& source, BIAS::Image<type>& dest);\
30 template BIASImageBase_EXPORT int ImageConvert::HSLToGrey_(const BIAS::Image<type>& source, BIAS::Image<type>& dest);\
31 template BIASImageBase_EXPORT int ImageConvert::YUV422ToGrey_(const BIAS::Image<type> &source, BIAS::Image<type>& dest);\
32 template BIASImageBase_EXPORT int ImageConvert::ToPlanarYUYV422_(const BIAS::Image<type>& source, BIAS::Image<type>& dest); \
33 template BIASImageBase_EXPORT int ImageConvert::ToPlanarRGB_(const BIAS::Image<type>& source, BIAS::Image<type>& dest);\
34 template BIASImageBase_EXPORT int ImageConvert::ToInterleavedYUYV422_(const BIAS::Image<type>& source, BIAS::Image<type>& dest);\
35 template BIASImageBase_EXPORT int ImageConvert::ToInterleavedRGB_(const BIAS::Image<type>& source, BIAS::Image<type>& dest);\
36 template BIASImageBase_EXPORT int ImageConvert::FromInterleavedYUYV422_(const BIAS::Image<type>& source, BIAS::Image<type>& Y, BIAS::Image<type>& U, BIAS::Image<type>& V);\
37 template BIASImageBase_EXPORT int ImageConvert::FromInterleavedRGB_(const BIAS::Image<type>& source, BIAS::Image<type>& R, BIAS::Image<type>& G, BIAS::Image<type>& B);\
38 template BIASImageBase_EXPORT int ImageConvert::BayerToGrey_(const BIAS::Image<type>& source, BIAS::Image<type>& dest);\
39 template BIASImageBase_EXPORT int ImageConvert::BayerToRGB_ (const BIAS::Image<type>& source, BIAS::Image<type>& dest);\
40 template BIASImageBase_EXPORT int ImageConvert::BayerToRGBSlow_(const BIAS::Image<type>& source, BIAS::Image<type>& dest);\
41 template BIASImageBase_EXPORT int ImageConvert::XYZToRGB(const BIAS::Image<float>& source, BIAS::Image<type>& dest, float scale);\
42 template BIASImageBase_EXPORT int ImageConvert::LUVToRGB(const BIAS::Image<float>& source, BIAS::Image<type>& dest, float scale);
44 #ifdef BIAS_HAVE_OPENCV
45 #define INSTANCE_ImageConvert_OPENCV(cvt)\
46 template BIASImageBase_EXPORT int ImageConvert::BIAS2ipl(const BIAS::Image<cvt>& source, IplImage* &dest);\
47 template BIASImageBase_EXPORT int ImageConvert::Ipl2BIAS(IplImage* source, BIAS::Image<cvt>& dest);
49 #define INSTANCE_ImageConvert_OPENCV(cvt)
53 #define INSTANCE_ImageConvert_DV(dvtype)\
54 template BIASImageBase_EXPORT int ImageConvert::DVToRGB_(const BIAS::Image<dvtype>& source, BIAS::Image<dvtype>& dest,unsigned char quality);
56 #define INSTANCE_ImageConvert_DV(dvtype)
60 #define INSTI(atype) INSTANCE_ImageConvert(atype) INSTANCE_ImageConvert_OPENCV(atype) INSTANCE_ImageConvert_DV(atype)
64 template BIASImageBase_EXPORT
int ImageConvert::BayerToRGBSimple_(
const unsigned char* source,
unsigned char* dest,
int sx,
int sy, ImageBase::EColorModel tile);
65 template BIASImageBase_EXPORT
int ImageConvert::BayerToRGBSimple(
const unsigned char* source,
unsigned char* dest,
int sx,
int sy, ImageBase::EColorModel tile);
66 template BIASImageBase_EXPORT
int ImageConvert::BayerToRGBBilinear_(
const unsigned char* source,
unsigned char* dest,
int sx,
int sy, ImageBase::EColorModel tile);
67 template BIASImageBase_EXPORT
int ImageConvert::BayerToRGBNearestNeighbour_(
const unsigned char* source,
unsigned char* dest,
int sx,
int sy, ImageBase::EColorModel tile);
68 template BIASImageBase_EXPORT
int ImageConvert::BayerToRGBAHD_(
const unsigned char* source,
unsigned char* dest,
int sx,
int sy, ImageBase::EColorModel tile,
int bits);
69 template BIASImageBase_EXPORT
void ImageConvert::ClearBorders_<unsigned char>(
unsigned char *rgb,
int sx,
int sy,
int w);
70 template BIASImageBase_EXPORT
void ImageConvert::CLIP(
unsigned char& in,
unsigned char& out);
71 template BIASImageBase_EXPORT
void ImageConvert::CLIP16(
unsigned char& in,
unsigned char& out,
unsigned char bits);
75 #ifdef BUILD_IMAGE_INT
78 #ifdef BUILD_IMAGE_CHAR
81 #ifdef BUILD_IMAGE_SHORT
84 #if defined(BUILD_IMAGE_USHORT)
87 template BIASImageBase_EXPORT
int ImageConvert::BayerToRGBSimple_(
const unsigned short* source,
unsigned short* dest,
int sx,
int sy, ImageBase::EColorModel tile);
88 template BIASImageBase_EXPORT
int ImageConvert::BayerToRGBBilinear_(
const unsigned short* source,
unsigned short* dest,
int sx,
int sy, ImageBase::EColorModel tile);
89 template BIASImageBase_EXPORT
int ImageConvert::BayerToRGBNearestNeighbour_(
const unsigned short* source,
unsigned short* dest,
int sx,
int sy, ImageBase::EColorModel tile);
90 template BIASImageBase_EXPORT
int ImageConvert::BayerToRGBAHD_(
const unsigned short* source,
unsigned short* dest,
int sx,
int sy, ImageBase::EColorModel tile,
int bits);
91 template BIASImageBase_EXPORT
void ImageConvert::ClearBorders_(
unsigned short *rgb,
int sx,
int sy,
int w);
92 template BIASImageBase_EXPORT
void ImageConvert::CLIP(
unsigned short& in,
unsigned short& out);
93 template BIASImageBase_EXPORT
void ImageConvert::CLIP16(
unsigned short& in,
unsigned short& out,
unsigned short bits);
95 #ifdef BUILD_IMAGE_DOUBLE
98 #ifdef BUILD_IMAGE_UINT