|
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) |
|
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.