8 #ifndef META_OCEAN_TEST_TESTCV_TESTADVANCED_TEST_ADVANCED_FRAME_INTERPOLATOR_BILINEAR_H
9 #define META_OCEAN_TEST_TESTCV_TESTADVANCED_TEST_ADVANCED_FRAME_INTERPOLATOR_BILINEAR_H
29 namespace TestAdvanced
65 static bool test(
const double testDuration,
Worker& worker);
81 template <
typename TScalar>
115 template <
unsigned int tChannels,
unsigned int tPatchSize, CV::PixelCenter tPixelCenter>
128 template <
unsigned int tChannels,
unsigned int tPatchSize, CV::PixelCenter tPixelCenter>
141 template <
unsigned int tChannels,
unsigned int tPatchSize>
198 static bool testHomographyFilterMask(
const unsigned int width,
const unsigned int height,
const unsigned int channels,
const double testDuration,
Worker& worker);
215 template <
typename TScalar>
This class implements Ocean's image class.
Definition: Frame.h:1792
This class implements a bilinear frame interpolator test.
Definition: TestAdvancedFrameInterpolatorBilinear.h:37
static bool interpolatePatch8BitPerChannel(const Frame &frame, const unsigned int patchWidth, const unsigned int patchHeight, const Vector2 &position, const CV::PixelCenter pixelCenter, uint8_t *buffer)
Interpolates a square image patch with sub-pixel accuracy.
static bool testInterpolatePatchWithMask(const unsigned int width, const unsigned int height, const double testDuration)
Tests the bilinear interpolation of an image patch with mask.
static bool interpolatePatchWithMask8BitPerChannel(const Frame &frame, const Frame &mask, const unsigned int patchWidth, const unsigned int patchHeight, const Vector2 &position, const CV::PixelCenter pixelCenter, uint8_t *patchBuffer, uint8_t *patchMaskBuffer, const uint8_t validMaskValue)
Interpolates an image patch and mask with sub-pixel accuracy.
ImplementationType
Definition of individual types of implementation.
Definition: TestAdvancedFrameInterpolatorBilinear.h:44
@ IT_SSE
The SSE-based implementation.
Definition: TestAdvancedFrameInterpolatorBilinear.h:50
@ IT_NEON
The NEON-based implementation.
Definition: TestAdvancedFrameInterpolatorBilinear.h:52
@ IT_NAIVE
The naive implementation.
Definition: TestAdvancedFrameInterpolatorBilinear.h:46
@ IT_TEMPLATE
The template-based implementation.
Definition: TestAdvancedFrameInterpolatorBilinear.h:48
static void interpolateSquarePatchMirroredBorder8BitPerChannel(const Frame &frame, const unsigned int patchSize, const Vector2 &position, uint8_t *buffer)
Interpolates a square image patch with sub-pixel accuracy (mirrored at the image borders).
static bool testHomographyFilterMask(const double testDuration, Worker &worker)
Tests the homography transformation function defining a binary mask for known and unknown image conte...
static bool testInterpolateSquare(const unsigned int width, const unsigned int height, const double testDuration)
Tests the bilinear square interpolation.
static bool testInterpolatePatchWithMask(const double testDuration)
Tests the bilinear interpolation of an image patch with mask.
static bool testInterpolateSquareMirroredBorder(const double testDuration)
Tests the bilinear square interpolation mirrored at the frame borders.
static bool validateInterpolatePixel8BitPerChannel(const Frame &frame, const Frame &mask, const VectorT2< TScalar > &position, const CV::PixelCenter pixelCenter, const uint8_t maskValue, const uint8_t *const interpolationResult, const uint8_t maskResult, const TScalar threshold)
Validates a pixel interpolation result for frame with 8 bit per channel with mask.
static bool testInterpolateSquare(const double testDuration)
Tests the bilinear square interpolation.
static bool testInterpolatePixelWithMask8BitPerChannel(const CV::PixelCenter pixelCenter, const double testDuration)
Tests the pixel interpolation function for frames with 8 bit per channel and mask.
static bool testHomographyFilterMask(const unsigned int width, const unsigned int height, const unsigned int channels, const double testDuration, Worker &worker)
Tests the homography transformation function (with binary mask defining known and unknown image conte...
static bool test(const double testDuration, Worker &worker)
Tests all advanced bilinear interpolation filter functions.
static bool testInterpolateSquareMirroredBorder(const unsigned int width, const unsigned int height, const double testDuration)
Tests the bilinear square mirrored interpolation.
static bool testInterpolatePixelWithMask8BitPerChannel(const double testDuration)
Tests the pixel interpolation function for frames with 8 bit per channel and mask.
static bool validateHomographyFilterMask8BitPerChannel(const Frame &inputFrame, const Frame &outputFilterMask, const Frame &outputFrame, const Frame &interpolatedOutputFrame, const SquareMatrix3 &input_H_output, const CV::PixelBoundingBox &boundingBox)
Validates the homography interpolation function (using a binary mask to define output pixels which wi...
This class implements a worker able to distribute function calls over different threads.
Definition: Worker.h:33
PixelCenter
Definition of individual centers of pixels.
Definition: CV.h:117
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15