This class implements a bicubic frame interpolator.
More...
|
class | Comfort |
| The following comfort class provides comfortable functions simplifying prototyping applications but also increasing binary size of the resulting applications. More...
|
|
|
static bool | resize (const uint8_t *source, uint8_t *target, const unsigned int sourceWidth, const unsigned int sourceHeight, const unsigned int targetWidth, const unsigned int targetHeight, const FrameType::PixelFormat format, const unsigned int sourcePaddingElements, const unsigned int targetPaddingElements, Worker *worker=nullptr) |
| Resizes a given frame by a bicubic interpolation. More...
|
|
template<unsigned int tChannels> |
static void | resize8BitPerChannel (const uint8_t *source, uint8_t *target, const unsigned int sourceWidth, const unsigned int sourceHeight, const unsigned int targetWidth, const unsigned int targetHeight, const unsigned int sourcePaddingElements, const unsigned int targetPaddingElements, Worker *worker=nullptr) |
| Resizes a given zipped frame by a bicubic interpolation. More...
|
|
|
template<unsigned int tChannels> |
static void | resizeHorizontal8BitPerChannelSubset (const uint8_t *source, uint8_t *target, const unsigned int sourceWidth, const unsigned int targetWidth, const unsigned int height, const unsigned int sourcePaddingElements, const unsigned int targetPaddingElements, const unsigned int firstRow, const unsigned int numberRows) |
| Resizes a subset of a given zipped frame by a horizontal bicubic interpolation only. More...
|
|
template<unsigned int tChannels> |
static void | resizeVertical8BitPerChannelSubset (const uint8_t *source, uint8_t *target, const unsigned int sourceHeight, const unsigned int targetHeight, const unsigned int width, const unsigned int sourcePaddingElements, const unsigned int targetPaddingElements, const unsigned int firstColumn, const unsigned int numberColumns) |
| Resizes a subset of a given zipped frame by a vertical bicubic interpolation only. More...
|
|
This class implements a bicubic frame interpolator.
◆ resize()
static bool Ocean::CV::FrameInterpolatorBicubic::resize |
( |
const uint8_t * |
source, |
|
|
uint8_t * |
target, |
|
|
const unsigned int |
sourceWidth, |
|
|
const unsigned int |
sourceHeight, |
|
|
const unsigned int |
targetWidth, |
|
|
const unsigned int |
targetHeight, |
|
|
const FrameType::PixelFormat |
format, |
|
|
const unsigned int |
sourcePaddingElements, |
|
|
const unsigned int |
targetPaddingElements, |
|
|
Worker * |
worker = nullptr |
|
) |
| |
|
static |
Resizes a given frame by a bicubic interpolation.
- Parameters
-
source | The source frame buffer to resize, must be valid |
target | The target frame buffer, must be valid |
sourceWidth | Width of the source frame in pixel, with range [1, infinity) |
sourceHeight | Height of the source frame in pixel, with range [1, infinity) |
targetWidth | Width of the target frame in pixel, with range [1, infinity) |
targetHeight | Height of the target frame in pixel, with range [1, infinity) |
format | Pixel format of source and target frame |
sourcePaddingElements | Number of padding elements used in the source frame, range: [0, infinity) |
targetPaddingElements | Number of padding elements used in the target frame, range: [0, infinity) |
worker | Optional worker object used for load distribution |
- Returns
- True, if the frame could be resized
◆ resize8BitPerChannel()
template<unsigned int tChannels>
void Ocean::CV::FrameInterpolatorBicubic::resize8BitPerChannel |
( |
const uint8_t * |
source, |
|
|
uint8_t * |
target, |
|
|
const unsigned int |
sourceWidth, |
|
|
const unsigned int |
sourceHeight, |
|
|
const unsigned int |
targetWidth, |
|
|
const unsigned int |
targetHeight, |
|
|
const unsigned int |
sourcePaddingElements, |
|
|
const unsigned int |
targetPaddingElements, |
|
|
Worker * |
worker = nullptr |
|
) |
| |
|
static |
Resizes a given zipped frame by a bicubic interpolation.
- Parameters
-
source | The source frame buffer, must be valid |
target | The target frame buffer, must be valid |
sourceWidth | Width of the source frame in pixel, with range [1, infinity) |
sourceHeight | Height of the source frame in pixel, with range [1, infinity) |
targetWidth | Width of the target frame in pixel, with range [1, infinity) |
targetHeight | Height of the target frame in pixel, with range [1, infinity) |
sourcePaddingElements | Number of padding elements used in the source frame, range: [0, infinity) |
targetPaddingElements | Number of padding elements used in the target frame, range: [0, infinity) |
worker | Optional worker object to distribute the computation |
- Template Parameters
-
tChannels | Number of frame channels, with range [1, infinity) |
◆ resizeHorizontal8BitPerChannelSubset()
template<unsigned int tChannels>
void Ocean::CV::FrameInterpolatorBicubic::resizeHorizontal8BitPerChannelSubset |
( |
const uint8_t * |
source, |
|
|
uint8_t * |
target, |
|
|
const unsigned int |
sourceWidth, |
|
|
const unsigned int |
targetWidth, |
|
|
const unsigned int |
height, |
|
|
const unsigned int |
sourcePaddingElements, |
|
|
const unsigned int |
targetPaddingElements, |
|
|
const unsigned int |
firstRow, |
|
|
const unsigned int |
numberRows |
|
) |
| |
|
staticprivate |
Resizes a subset of a given zipped frame by a horizontal bicubic interpolation only.
- Parameters
-
source | The source frame buffer to resize, with size (sourceWidth x sourceHeight) |
target | Intermediate target frame buffer, with size (targetWidth x sourceHeight) |
sourceWidth | Width of the source frame in pixel, with range [1, infinity) |
targetWidth | Width of the target frame in pixel, with range [1, infinity) |
height | The height of the source and target frame in pixel, with range [1, infinity) |
sourcePaddingElements | Number of padding elements used in the source frame, range: [0, infinity) |
targetPaddingElements | Number of padding elements used in the target frame, range: [0, infinity) |
firstRow | First (including) row to convert, with range [0, height) |
numberRows | Number of rows to convert, with range [1, height - firstRow] |
- Template Parameters
-
tChannels | Number of frame channels, with range [1, infinity) |
◆ resizeVertical8BitPerChannelSubset()
template<unsigned int tChannels>
void Ocean::CV::FrameInterpolatorBicubic::resizeVertical8BitPerChannelSubset |
( |
const uint8_t * |
source, |
|
|
uint8_t * |
target, |
|
|
const unsigned int |
sourceHeight, |
|
|
const unsigned int |
targetHeight, |
|
|
const unsigned int |
width, |
|
|
const unsigned int |
sourcePaddingElements, |
|
|
const unsigned int |
targetPaddingElements, |
|
|
const unsigned int |
firstColumn, |
|
|
const unsigned int |
numberColumns |
|
) |
| |
|
staticprivate |
Resizes a subset of a given zipped frame by a vertical bicubic interpolation only.
- Parameters
-
source | Resized and horizontal filtered source frame buffer, with size (targetWidth x sourceHeight) |
target | The target frame buffer, with size (targetWidth x targetHeight) |
sourceHeight | Height of the source frame in pixel, with range [1, infinity) |
targetHeight | Height of the target frame in pixel, with range [1, infinity) |
width | The width of the source and target frame in pixel, with range [1, infinity) |
sourcePaddingElements | Number of padding elements used in the source frame, range: [0, infinity) |
targetPaddingElements | Number of padding elements used in the target frame, range: [0, infinity) |
firstColumn | First (including) column to convert, with range [0, width) |
numberColumns | Number of columns to convert, with range [1, width - firstColumn] |
- Template Parameters
-
tChannels | Number of frame channels, with range [1, infinity) |
The documentation for this class was generated from the following file: