HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
(warp: arbitrary warp by a 3x3 matrix)

Functions

ImageBuf OIIO_API ImageBufAlgo::warp (const ImageBuf &src, const Imath::M33f &M, string_view filtername=string_view(), float filterwidth=0.0f, bool recompute_roi=false, ImageBuf::WrapMode wrap=ImageBuf::WrapDefault, ROI roi={}, int nthreads=0)
 
ImageBuf OIIO_API ImageBufAlgo::warp (const ImageBuf &src, const Imath::M33f &M, const Filter2D *filter, bool recompute_roi=false, ImageBuf::WrapMode wrap=ImageBuf::WrapDefault, ROI roi={}, int nthreads=0)
 
bool OIIO_API ImageBufAlgo::warp (ImageBuf &dst, const ImageBuf &src, const Imath::M33f &M, string_view filtername=string_view(), float filterwidth=0.0f, bool recompute_roi=false, ImageBuf::WrapMode wrap=ImageBuf::WrapDefault, ROI roi={}, int nthreads=0)
 
bool OIIO_API ImageBufAlgo::warp (ImageBuf &dst, const ImageBuf &src, const Imath::M33f &M, const Filter2D *filter, bool recompute_roi=false, ImageBuf::WrapMode wrap=ImageBuf::WrapDefault, ROI roi={}, int nthreads=0)
 

Detailed Description

Warp the src image using the supplied 3x3 transformation matrix.

Only the pixels (and channels) of dst that are specified by roi will be copied from the warped src; the default roi is to alter all the pixels in dst. If dst is uninitialized, it will be sized to be an ImageBuf large enough to hold the warped image if recompute_roi is true, or will have the same ROI as src if recompute_roi is false. It is an error to pass both an uninitialized dst and an undefined roi.

The caller may explicitly pass a reconstruction filter, or specify one by name and size, or if the name is the empty string resize() will choose a reasonable high-quality default if nullptr is passed. The filter is used to weight the src pixels falling underneath it for each dst pixel; the filter's size is expressed in pixel units of the dst image.

Function Documentation

ImageBuf OIIO_API ImageBufAlgo::warp ( const ImageBuf src,
const Imath::M33f M,
string_view  filtername = string_view(),
float  filterwidth = 0.0f,
bool  recompute_roi = false,
ImageBuf::WrapMode  wrap = ImageBuf::WrapDefault,
ROI  roi = {},
int  nthreads = 0 
)
ImageBuf OIIO_API ImageBufAlgo::warp ( const ImageBuf src,
const Imath::M33f M,
const Filter2D filter,
bool  recompute_roi = false,
ImageBuf::WrapMode  wrap = ImageBuf::WrapDefault,
ROI  roi = {},
int  nthreads = 0 
)
bool OIIO_API ImageBufAlgo::warp ( ImageBuf dst,
const ImageBuf src,
const Imath::M33f M,
string_view  filtername = string_view(),
float  filterwidth = 0.0f,
bool  recompute_roi = false,
ImageBuf::WrapMode  wrap = ImageBuf::WrapDefault,
ROI  roi = {},
int  nthreads = 0 
)
bool OIIO_API ImageBufAlgo::warp ( ImageBuf dst,
const ImageBuf src,
const Imath::M33f M,
const Filter2D filter,
bool  recompute_roi = false,
ImageBuf::WrapMode  wrap = ImageBuf::WrapDefault,
ROI  roi = {},
int  nthreads = 0 
)