Public Types |
enum | bayerConverterMethod {
nearestNeighbor = 0,
simple,
bilinear,
hqLinear,
edgeSense,
vng
} |
enum | bayerPattern { bayerPattern_RGGB = 512,
bayerPattern_GBRG,
bayerPattern_GRBG,
bayerPattern_BGGR
} |
Public Member Functions |
| BayerConverter (bayerConverterMethod eConvMethod, bayerPattern eBayerPattern, utils::Size sizeHint=utils::Size::null) |
| creates a new BayerConverter instances
|
| ~BayerConverter () |
void | apply (const Img8u *src, ImgBase **dst) |
| converts the source image with bayer pattern into the
|
void | setBayerPattern (bayerPattern eBayerPattern) |
void | setConverterMethod (bayerConverterMethod eConvMethod) |
Static Public Member Functions |
static std::string | translateBayerConverterMethod (bayerConverterMethod ebcm) |
static bayerConverterMethod | translateBayerConverterMethod (std::string sbcm) |
static std::string | translateBayerPattern (bayerPattern ebp) |
static bayerPattern | translateBayerPattern (std::string sbp) |
Private Member Functions |
void | nnInterpolation (const Img8u *poBayerImg) |
void | bilinearInterpolation (const Img8u *poBayerImg) |
void | hqLinearInterpolation (const Img8u *poBayerImg) |
void | edgeSenseInterpolation (const Img8u *poBayerImg) |
void | simpleInterpolation (const Img8u *poBayerImg) |
void | nnInterpolationIpp (const Img8u *poBayerImg) |
void | clearBorders (icl8u *rgb, int sx, int sy, int w) |
void | clip (int *iIn, icl8u *iOut) |
Private Attributes |
std::vector< icl8u > | m_buffer |
| internal buffer;
|
bayerConverterMethod | m_eConvMethod |
bayerPattern | m_eBayerPattern |
IppiBayerGrid | m_IppBayerPattern |
Utiltity class for bayer pattern conversion.
The internal implementation was basically taken from the libdc files