A high-performance general-purpose compute library
image.h
Go to the documentation of this file.
1/*******************************************************
2 * Copyright (c) 2014, ArrayFire
3 * All rights reserved.
4 *
5 * This file is distributed under 3-clause BSD license.
6 * The complete license agreement can be obtained at:
7 * http://arrayfire.com/licenses/BSD-3-Clause
8 ********************************************************/
9
10#pragma once
11#include <af/defines.h>
12#include <af/features.h>
13
14#ifdef __cplusplus
15namespace af
16{
17class array;
18
28AFAPI void grad(array& dx, array& dy, const array& in);
29
39AFAPI array loadImage(const char* filename, const bool is_color=false);
40
49AFAPI void saveImage(const char* filename, const array& in);
50
51#if AF_API_VERSION >= 31
65AFAPI array loadImageMem(const void *ptr);
66#endif
67
68#if AF_API_VERSION >= 31
84AFAPI void* saveImageMem(const array& in, const imageFormat format = AF_FIF_PNG);
85#endif
86
87#if AF_API_VERSION >= 31
96AFAPI void deleteImageMem(void *ptr);
97#endif
98
99#if AF_API_VERSION >= 32
117AFAPI array loadImageNative(const char* filename);
118#endif
119
120#if AF_API_VERSION >= 32
147AFAPI void saveImageNative(const char* filename, const array& in);
148#endif
149
150#if AF_API_VERSION >= 33
158#endif
159
171AFAPI array resize(const array& in, const dim_t odim0, const dim_t odim1, const interpType method=AF_INTERP_NEAREST);
172
184AFAPI array resize(const float scale0, const float scale1, const array& in, const interpType method=AF_INTERP_NEAREST);
185
196AFAPI array resize(const float scale, const array& in, const interpType method=AF_INTERP_NEAREST);
197
209AFAPI array rotate(const array& in, const float theta, const bool crop=true, const interpType method=AF_INTERP_NEAREST);
210
224AFAPI array transform(const array& in, const array& transform, const dim_t odim0 = 0, const dim_t odim1 = 0,
225 const interpType method=AF_INTERP_NEAREST, const bool inverse=true);
226
227#if AF_API_VERSION >= 33
238AFAPI array transformCoordinates(const array& tf, const float d0, const float d1);
239#endif
240
254AFAPI array translate(const array& in, const float trans0, const float trans1, const dim_t odim0 = 0, const dim_t odim1 = 0, const interpType method=AF_INTERP_NEAREST);
255
269AFAPI array scale(const array& in, const float scale0, const float scale1, const dim_t odim0 = 0, const dim_t odim1 = 0, const interpType method=AF_INTERP_NEAREST);
270
285AFAPI array skew(const array& in, const float skew0, const float skew1, const dim_t odim0 = 0, const dim_t odim1 = 0, const bool inverse=true, const interpType method=AF_INTERP_NEAREST);
286
298AFAPI array bilateral(const array &in, const float spatial_sigma, const float chromatic_sigma, const bool is_color=false);
299
313AFAPI array histogram(const array &in, const unsigned nbins, const double minval, const double maxval);
314
326AFAPI array histogram(const array &in, const unsigned nbins);
327
340AFAPI array meanShift(const array& in, const float spatial_sigma, const float chromatic_sigma, const unsigned iter, const bool is_color=false);
341
354AFAPI array minfilt(const array& in, const dim_t wind_length = 3, const dim_t wind_width = 3, const borderType edge_pad = AF_PAD_ZERO);
355
368AFAPI array maxfilt(const array& in, const dim_t wind_length = 3, const dim_t wind_width = 3, const borderType edge_pad = AF_PAD_ZERO);
369
381AFAPI array dilate(const array& in, const array& mask);
382
392AFAPI array dilate3(const array& in, const array& mask);
393
405AFAPI array erode(const array& in, const array& mask);
406
416AFAPI array erode3(const array& in, const array& mask);
417
446
459AFAPI void sobel(array &dx, array &dy, const array &img, const unsigned ker_size=3);
460
473AFAPI array sobel(const array &img, const unsigned ker_size=3, const bool isFast=false);
474
488AFAPI array rgb2gray(const array& in, const float rPercent=0.2126f, const float gPercent=0.7152f, const float bPercent=0.0722f);
489
503AFAPI array gray2rgb(const array& in, const float rFactor=1.0, const float gFactor=1.0, const float bFactor=1.0);
504
518AFAPI array histEqual(const array& in, const array& hist);
519
531AFAPI array gaussianKernel(const int rows, const int cols, const double sig_r = 0, const double sig_c = 0);
532
544
556
571AFAPI array colorSpace(const array& image, const CSpace to, const CSpace from);
572
573#if AF_API_VERSION >= 31
598AFAPI array unwrap(const array& in, const dim_t wx, const dim_t wy,
599 const dim_t sx, const dim_t sy, const dim_t px=0, const dim_t py=0,
600 const bool is_column = true);
601#endif
602
603#if AF_API_VERSION >= 31
637 const dim_t ox, const dim_t oy,
638 const dim_t wx, const dim_t wy,
639 const dim_t sx, const dim_t sy,
640 const dim_t px = 0, const dim_t py = 0,
641 const bool is_column = true);
642#endif
643
644#if AF_API_VERSION >= 31
653AFAPI array sat(const array& in);
654#endif
655
656#if AF_API_VERSION >= 31
669AFAPI array ycbcr2rgb(const array& in, const YCCStd standard=AF_YCC_601);
670#endif
671
672#if AF_API_VERSION >= 31
685AFAPI array rgb2ycbcr(const array& in, const YCCStd standard=AF_YCC_601);
686#endif
687
688#if AF_API_VERSION >= 34
699AFAPI void moments(double* out, const array& in, const momentType moment=AF_MOMENT_FIRST_ORDER);
700#endif
701
702#if AF_API_VERSION >= 34
713#endif
714
715#if AF_API_VERSION >= 35
735AFAPI array canny(const array& in, const cannyThreshold thresholdType,
736 const float lowThresholdRatio, const float highThresholdRatio,
737 const unsigned sobelWindow = 3, const bool isFast = false);
738#endif
739
740#if AF_API_VERSION >= 36
755AFAPI array anisotropicDiffusion(const af::array& in, const float timestep,
756 const float conductance, const unsigned iterations,
758 const diffusionEq diffusionKind=AF_DIFFUSION_GRAD);
759#endif
760
761#if AF_API_VERSION >= 37
780AFAPI array iterativeDeconv(const array& in, const array& ker,
781 const unsigned iterations, const float relaxFactor,
782 const iterativeDeconvAlgo algo);
783
798AFAPI array inverseDeconv(const array& in, const array& psf,
799 const float gamma, const inverseDeconvAlgo algo);
800
820AFAPI array confidenceCC(const array &in, const array &seeds,
821 const unsigned radius,
822 const unsigned multiplier, const int iter,
823 const double segmentedValue);
824
843AFAPI array confidenceCC(const array &in, const array &seedx,
844 const array &seedy, const unsigned radius,
845 const unsigned multiplier, const int iter,
846 const double segmentedValue);
847
867AFAPI array confidenceCC(const array &in, const size_t num_seeds,
868 const unsigned *seedx, const unsigned *seedy,
869 const unsigned radius, const unsigned multiplier,
870 const int iter, const double segmentedValue);
871
872#endif
873}
874#endif
875
876#ifdef __cplusplus
877extern "C" {
878#endif
879
892
904 AFAPI af_err af_load_image(af_array *out, const char* filename, const bool isColor);
905
916 AFAPI af_err af_save_image(const char* filename, const af_array in);
917
918#if AF_API_VERSION >= 31
930#endif
931
932#if AF_API_VERSION >= 31
945 AFAPI af_err af_save_image_memory(void** ptr, const af_array in, const af_image_format format);
946#endif
947
948#if AF_API_VERSION >= 31
959#endif
960
961#if AF_API_VERSION >= 32
980 AFAPI af_err af_load_image_native(af_array *out, const char* filename);
981#endif
982
983#if AF_API_VERSION >= 32
1012 AFAPI af_err af_save_image_native(const char* filename, const af_array in);
1013#endif
1014
1015#if AF_API_VERSION >= 33
1027#endif
1028
1043 AFAPI af_err af_resize(af_array *out, const af_array in, const dim_t odim0, const dim_t odim1, const af_interp_type method);
1044
1061 AFAPI af_err af_transform(af_array *out, const af_array in, const af_array transform,
1062 const dim_t odim0, const dim_t odim1,
1063 const af_interp_type method, const bool inverse);
1064
1065#if AF_API_VERSION >= 37
1089 AFAPI af_err af_transform_v2(af_array *out, const af_array in, const af_array transform,
1090 const dim_t odim0, const dim_t odim1,
1091 const af_interp_type method, const bool inverse);
1092#endif
1093
1094#if AF_API_VERSION >= 33
1106 AFAPI af_err af_transform_coordinates(af_array *out, const af_array tf, const float d0, const float d1);
1107#endif
1108
1122 AFAPI af_err af_rotate(af_array *out, const af_array in, const float theta,
1123 const bool crop, const af_interp_type method);
1139 AFAPI af_err af_translate(af_array *out, const af_array in, const float trans0, const float trans1,
1140 const dim_t odim0, const dim_t odim1, const af_interp_type method);
1156 AFAPI af_err af_scale(af_array *out, const af_array in, const float scale0, const float scale1,
1157 const dim_t odim0, const dim_t odim1, const af_interp_type method);
1174 AFAPI af_err af_skew(af_array *out, const af_array in, const float skew0, const float skew1,
1175 const dim_t odim0, const dim_t odim1, const af_interp_type method,
1176 const bool inverse);
1177
1191 AFAPI af_err af_histogram(af_array *out, const af_array in, const unsigned nbins, const double minval, const double maxval);
1192
1206 AFAPI af_err af_dilate(af_array *out, const af_array in, const af_array mask);
1207
1219 AFAPI af_err af_dilate3(af_array *out, const af_array in, const af_array mask);
1220
1234 AFAPI af_err af_erode(af_array *out, const af_array in, const af_array mask);
1235
1247 AFAPI af_err af_erode3(af_array *out, const af_array in, const af_array mask);
1248
1262 AFAPI af_err af_bilateral(af_array *out, const af_array in, const float spatial_sigma, const float chromatic_sigma, const bool isColor);
1263
1278 AFAPI af_err af_mean_shift(af_array *out, const af_array in, const float spatial_sigma, const float chromatic_sigma, const unsigned iter, const bool is_color);
1279
1294 AFAPI af_err af_minfilt(af_array *out, const af_array in, const dim_t wind_length, const dim_t wind_width, const af_border_type edge_pad);
1295
1310 AFAPI af_err af_maxfilt(af_array *out, const af_array in, const dim_t wind_length, const dim_t wind_width, const af_border_type edge_pad);
1311
1324 AFAPI af_err af_regions(af_array *out, const af_array in, const af_connectivity connectivity, const af_dtype ty);
1325
1340 AFAPI af_err af_sobel_operator(af_array *dx, af_array *dy, const af_array img, const unsigned ker_size);
1341
1357 AFAPI af_err af_rgb2gray(af_array* out, const af_array in, const float rPercent, const float gPercent, const float bPercent);
1358
1374 AFAPI af_err af_gray2rgb(af_array* out, const af_array in, const float rFactor, const float gFactor, const float bFactor);
1375
1390
1405 const int rows, const int cols,
1406 const double sigma_r, const double sigma_c);
1407
1421
1435
1453 AFAPI af_err af_color_space(af_array *out, const af_array image, const af_cspace_t to, const af_cspace_t from);
1454
1455#if AF_API_VERSION >= 31
1483 AFAPI af_err af_unwrap(af_array *out, const af_array in, const dim_t wx, const dim_t wy,
1484 const dim_t sx, const dim_t sy, const dim_t px, const dim_t py,
1485 const bool is_column);
1486#endif
1487
1488#if AF_API_VERSION >= 31
1525 const af_array in,
1526 const dim_t ox, const dim_t oy,
1527 const dim_t wx, const dim_t wy,
1528 const dim_t sx, const dim_t sy,
1529 const dim_t px, const dim_t py,
1530 const bool is_column);
1531#endif
1532
1533#if AF_API_VERSION >= 37
1571 const af_array in,
1572 const dim_t ox, const dim_t oy,
1573 const dim_t wx, const dim_t wy,
1574 const dim_t sx, const dim_t sy,
1575 const dim_t px, const dim_t py,
1576 const bool is_column);
1577#endif
1578
1579#if AF_API_VERSION >= 31
1591#endif
1592
1593#if AF_API_VERSION >= 31
1608 AFAPI af_err af_ycbcr2rgb(af_array* out, const af_array in, const af_ycc_std standard);
1609#endif
1610
1611#if AF_API_VERSION >= 31
1626 AFAPI af_err af_rgb2ycbcr(af_array* out, const af_array in, const af_ycc_std standard);
1627#endif
1628
1629#if AF_API_VERSION >= 34
1642#endif
1643
1644#if AF_API_VERSION >= 34
1657 AFAPI af_err af_moments_all(double* out, const af_array in, const af_moment_type moment);
1658#endif
1659
1660#if AF_API_VERSION >= 35
1684 const af_canny_threshold threshold_type,
1685 const float low_threshold_ratio,
1686 const float high_threshold_ratio,
1687 const unsigned sobel_window, const bool is_fast);
1688#endif
1689
1690#if AF_API_VERSION >= 36
1710 const float timestep,
1711 const float conductance,
1712 const unsigned iterations,
1713 const af_flux_function fftype,
1714 const af_diffusion_eq diffusion_kind);
1715#endif
1716
1717#if AF_API_VERSION >= 37
1739 const af_array in, const af_array ker,
1740 const unsigned iterations,
1741 const float relax_factor,
1742 const af_iterative_deconv_algo algo);
1743
1762 const af_array psf, const float gamma,
1763 const af_inverse_deconv_algo algo);
1764
1786 const af_array seedx, const af_array seedy,
1787 const unsigned radius,
1788 const unsigned multiplier, const int iter,
1789 const double segmented_value);
1790
1791#endif
1792
1793#ifdef __cplusplus
1794}
1795#endif
A multi dimensional data container.
Definition: array.h:37
af_dtype
Definition: defines.h:210
@ f32
32-bit floating point values
Definition: defines.h:211
af_canny_threshold
Definition: defines.h:483
af_iterative_deconv_algo
Definition: defines.h:528
af_inverse_deconv_algo
Definition: defines.h:534
af_border_type
Definition: defines.h:266
@ AF_PAD_ZERO
Out of bound values are 0.
Definition: defines.h:270
af_image_format
Definition: defines.h:377
@ AF_FIF_PNG
FreeImage Enum for Portable Network Graphics File.
Definition: defines.h:382
long long dim_t
Definition: defines.h:56
af_err
Definition: defines.h:71
void * af_array
Definition: defines.h:240
af_ycc_std
Definition: defines.h:332
@ AF_YCC_601
ITU-R BT.601 (formerly CCIR 601) standard.
Definition: defines.h:333
#define AFAPI
Definition: defines.h:38
af_interp_type
Definition: defines.h:242
@ AF_INTERP_NEAREST
Nearest Interpolation.
Definition: defines.h:243
af_diffusion_eq
Definition: defines.h:505
@ AF_DIFFUSION_GRAD
Gradient diffusion equation.
Definition: defines.h:506
af_moment_type
Definition: defines.h:395
@ AF_MOMENT_FIRST_ORDER
Definition: defines.h:400
af_cspace_t
Definition: defines.h:339
af_flux_function
Definition: defines.h:499
@ AF_FLUX_EXPONENTIAL
Exponential flux function.
Definition: defines.h:501
af_connectivity
Definition: defines.h:288
@ AF_CONNECTIVITY_4
Connectivity includes neighbors, North, East, South and West of current pixel.
Definition: defines.h:292
AFAPI void grad(array &dx, array &dy, const array &in)
C++ Interface for calculating the gradients.
AFAPI af_err af_gradient(af_array *dx, af_array *dy, const af_array in)
C Interface for calculating the gradients.
AFAPI array anisotropicDiffusion(const af::array &in, const float timestep, const float conductance, const unsigned iterations, const fluxFunction fftype=AF_FLUX_EXPONENTIAL, const diffusionEq diffusionKind=AF_DIFFUSION_GRAD)
C++ Interface for gradient anisotropic(non-linear diffusion) smoothing.
AFAPI af_err af_anisotropic_diffusion(af_array *out, const af_array in, const float timestep, const float conductance, const unsigned iterations, const af_flux_function fftype, const af_diffusion_eq diffusion_kind)
C Interface for anisotropic diffusion.
AFAPI af_err af_bilateral(af_array *out, const af_array in, const float spatial_sigma, const float chromatic_sigma, const bool isColor)
C Interface for bilateral filter.
AFAPI array bilateral(const array &in, const float spatial_sigma, const float chromatic_sigma, const bool is_color=false)
C++ Interface for bilateral filter.
AFAPI af_err af_canny(af_array *out, const af_array in, const af_canny_threshold threshold_type, const float low_threshold_ratio, const float high_threshold_ratio, const unsigned sobel_window, const bool is_fast)
C Interface for canny edge detector.
AFAPI array canny(const array &in, const cannyThreshold thresholdType, const float lowThresholdRatio, const float highThresholdRatio, const unsigned sobelWindow=3, const bool isFast=false)
C++ Interface for canny edge detector.
AFAPI af_err af_color_space(af_array *out, const af_array image, const af_cspace_t to, const af_cspace_t from)
C Interface wrapper for color space conversion.
AFAPI array colorSpace(const array &image, const CSpace to, const CSpace from)
C++ Interface wrapper for colorspace conversion.
AFAPI array confidenceCC(const array &in, const array &seeds, const unsigned radius, const unsigned multiplier, const int iter, const double segmentedValue)
C++ Interface for confidence connected components.
AFAPI af_err af_confidence_cc(af_array *out, const af_array in, const af_array seedx, const af_array seedy, const unsigned radius, const unsigned multiplier, const int iter, const double segmented_value)
C Interface for confidence connected components.
AFAPI array dilate3(const array &in, const array &mask)
C++ Interface for 3D image dilation.
AFAPI af_err af_dilate3(af_array *out, const af_array in, const af_array mask)
C Interface for 3d image dilation.
AFAPI array dilate(const array &in, const array &mask)
C++ Interface for image dilation (max filter)
AFAPI af_err af_dilate(af_array *out, const af_array in, const af_array mask)
C Interface for image dilation (max filter)
AFAPI array erode3(const array &in, const array &mask)
C++ Interface for 3d for image erosion.
AFAPI af_err af_erode3(af_array *out, const af_array in, const af_array mask)
C Interface for 3D image erosion.
AFAPI af_err af_erode(af_array *out, const af_array in, const af_array mask)
C Interface for image erosion (min filter)
AFAPI array erode(const array &in, const array &mask)
C++ Interface for image erosion (min filter)
AFAPI af_err af_gaussian_kernel(af_array *out, const int rows, const int cols, const double sigma_r, const double sigma_c)
C Interface generating gaussian kernels.
AFAPI array gaussianKernel(const int rows, const int cols, const double sig_r=0, const double sig_c=0)
C++ Interface for generating gausian kernels.
AFAPI af_err af_gray2rgb(af_array *out, const af_array in, const float rFactor, const float gFactor, const float bFactor)
C Interface for converting gray to RGB.
AFAPI array gray2rgb(const array &in, const float rFactor=1.0, const float gFactor=1.0, const float bFactor=1.0)
C++ Interface for gray to RGB conversion.
AFAPI af_err af_hist_equal(af_array *out, const af_array in, const af_array hist)
C Interface for histogram equalization.
AFAPI array histEqual(const array &in, const array &hist)
C++ Interface for histogram equalization.
AFAPI af_err af_histogram(af_array *out, const af_array in, const unsigned nbins, const double minval, const double maxval)
C Interface for histogram.
AFAPI array histogram(const array &in, const unsigned nbins, const double minval, const double maxval)
C++ Interface for histogram.
AFAPI af_err af_hsv2rgb(af_array *out, const af_array in)
C Interface for converting HSV to RGB.
AFAPI array hsv2rgb(const array &in)
C++ Interface for converting HSV to RGB.
AFAPI af_err af_inverse_deconv(af_array *out, const af_array in, const af_array psf, const float gamma, const af_inverse_deconv_algo algo)
C Interface for Tikhonov deconvolution algorithm.
AFAPI array inverseDeconv(const array &in, const array &psf, const float gamma, const inverseDeconvAlgo algo)
C++ Interface for Tikhonov deconvolution algorithm.
AFAPI array iterativeDeconv(const array &in, const array &ker, const unsigned iterations, const float relaxFactor, const iterativeDeconvAlgo algo)
C++ Interface for Iterative deconvolution algorithm.
AFAPI af_err af_iterative_deconv(af_array *out, const af_array in, const af_array ker, const unsigned iterations, const float relax_factor, const af_iterative_deconv_algo algo)
C Interface for Iterative deconvolution algorithm.
AFAPI array maxfilt(const array &in, const dim_t wind_length=3, const dim_t wind_width=3, const borderType edge_pad=AF_PAD_ZERO)
C++ Interface for maximum filter.
AFAPI af_err af_maxfilt(af_array *out, const af_array in, const dim_t wind_length, const dim_t wind_width, const af_border_type edge_pad)
C Interface for maximum filter.
AFAPI af_err af_mean_shift(af_array *out, const af_array in, const float spatial_sigma, const float chromatic_sigma, const unsigned iter, const bool is_color)
C Interface for mean shift.
AFAPI array meanShift(const array &in, const float spatial_sigma, const float chromatic_sigma, const unsigned iter, const bool is_color=false)
C++ Interface for mean shift.
AFAPI af_err af_minfilt(af_array *out, const af_array in, const dim_t wind_length, const dim_t wind_width, const af_border_type edge_pad)
C Interface for minimum filter.
AFAPI array minfilt(const array &in, const dim_t wind_length=3, const dim_t wind_width=3, const borderType edge_pad=AF_PAD_ZERO)
C++ Interface for minimum filter.
AFAPI af_err af_moments(af_array *out, const af_array in, const af_moment_type moment)
C Interface for finding image moments.
AFAPI af_err af_moments_all(double *out, const af_array in, const af_moment_type moment)
C Interface for calculating image moment(s) of a single image.
AFAPI void moments(double *out, const array &in, const momentType moment=AF_MOMENT_FIRST_ORDER)
C++ Interface for calculating an image moment.
AFAPI af_err af_regions(af_array *out, const af_array in, const af_connectivity connectivity, const af_dtype ty)
C Interface for regions in an image.
AFAPI array regions(const array &in, const af::connectivity connectivity=AF_CONNECTIVITY_4, const dtype type=f32)
C++ Interface for getting regions in an image.
AFAPI af_err af_rgb2gray(af_array *out, const af_array in, const float rPercent, const float gPercent, const float bPercent)
C Interface for converting RGB to gray.
AFAPI array rgb2gray(const array &in, const float rPercent=0.2126f, const float gPercent=0.7152f, const float bPercent=0.0722f)
C++ Interface for RGB to gray conversion.
AFAPI af_err af_rgb2hsv(af_array *out, const af_array in)
C Interface for converting RGB to HSV.
AFAPI array rgb2hsv(const array &in)
C++ Interface for converting RGB to HSV.
AFAPI array rgb2ycbcr(const array &in, const YCCStd standard=AF_YCC_601)
C++ Interface for converting RGB to YCbCr.
AFAPI af_err af_rgb2ycbcr(af_array *out, const af_array in, const af_ycc_std standard)
C Interface for converting RGB to YCbCr.
AFAPI array sat(const array &in)
C++ Interface wrapper for summed area tables.
AFAPI af_err af_sat(af_array *out, const af_array in)
C Interface wrapper for summed area tables.
AFAPI af_err af_sobel_operator(af_array *dx, af_array *dy, const af_array img, const unsigned ker_size)
C Interface for getting sobel gradients.
AFAPI void sobel(array &dx, array &dy, const array &img, const unsigned ker_size=3)
C++ Interface for extracting sobel gradients.
AFAPI af_err af_unwrap(af_array *out, const af_array in, const dim_t wx, const dim_t wy, const dim_t sx, const dim_t sy, const dim_t px, const dim_t py, const bool is_column)
C Interface for rearranging windowed sections of an input into columns (or rows)
AFAPI array unwrap(const array &in, const dim_t wx, const dim_t wy, const dim_t sx, const dim_t sy, const dim_t px=0, const dim_t py=0, const bool is_column=true)
C++ Interface for rearranging windowed sections of an input into columns (or rows)
AFAPI array wrap(const array &in, const dim_t ox, const dim_t oy, const dim_t wx, const dim_t wy, const dim_t sx, const dim_t sy, const dim_t px=0, const dim_t py=0, const bool is_column=true)
C++ Interface for performing the opposite of unwrap.
AFAPI af_err af_wrap(af_array *out, const af_array in, const dim_t ox, const dim_t oy, const dim_t wx, const dim_t wy, const dim_t sx, const dim_t sy, const dim_t px, const dim_t py, const bool is_column)
C Interface for performing the opposite of af::unwrap()
AFAPI af_err af_wrap_v2(af_array *out, const af_array in, const dim_t ox, const dim_t oy, const dim_t wx, const dim_t wy, const dim_t sx, const dim_t sy, const dim_t px, const dim_t py, const bool is_column)
C Interface for the version of af_wrap that accepts a preallocated output array.
AFAPI array ycbcr2rgb(const array &in, const YCCStd standard=AF_YCC_601)
C++ Interface for converting YCbCr to RGB.
AFAPI af_err af_ycbcr2rgb(af_array *out, const af_array in, const af_ycc_std standard)
C Interface for converting YCbCr to RGB.
AFAPI af_err af_is_image_io_available(bool *out)
Function to check if Image IO is available.
AFAPI bool isImageIOAvailable()
Function to check if Image IO is available.
AFAPI array loadImage(const char *filename, const bool is_color=false)
C++ Interface for loading an image.
AFAPI array loadImageNative(const char *filename)
C++ Interface for loading an image as its original type.
AFAPI af_err af_load_image(af_array *out, const char *filename, const bool isColor)
C Interface for loading an image.
AFAPI af_err af_load_image_native(af_array *out, const char *filename)
C Interface for loading an image as is original type.
AFAPI af_err af_save_image(const char *filename, const af_array in)
C Interface for saving an image.
AFAPI void saveImageNative(const char *filename, const array &in)
C++ Interface for saving an image without modifications.
AFAPI void saveImage(const char *filename, const array &in)
C++ Interface for saving an image.
AFAPI af_err af_save_image_native(const char *filename, const af_array in)
C Interface for saving an image without modifications.
AFAPI void deleteImageMem(void *ptr)
C++ Interface for deleting memory created by saveImageMem or af_save_image_memory.
AFAPI af_err af_delete_image_memory(void *ptr)
C Interface for deleting an image from memory.
AFAPI array loadImageMem(const void *ptr)
C++ Interface for loading an image from memory.
AFAPI af_err af_load_image_memory(af_array *out, const void *ptr)
C Interface for loading an image from memory.
AFAPI void * saveImageMem(const array &in, const imageFormat format=AF_FIF_PNG)
C++ Interface for saving an image to memory.
AFAPI af_err af_save_image_memory(void **ptr, const af_array in, const af_image_format format)
C Interface for saving an image to memory using FreeImage.
AFAPI array inverse(const array &in, const matProp options=AF_MAT_NONE)
C++ Interface to invert a matrix.
AFAPI af_err af_transform_coordinates(af_array *out, const af_array tf, const float d0, const float d1)
C Interface for transforming an image C++ Interface for transforming coordinates.
AFAPI array transformCoordinates(const array &tf, const float d0, const float d1)
C++ Interface for transforming coordinates.
AFAPI af_err af_resize(af_array *out, const af_array in, const dim_t odim0, const dim_t odim1, const af_interp_type method)
C Interface for resizing an image to specified dimensions.
AFAPI array resize(const array &in, const dim_t odim0, const dim_t odim1, const interpType method=AF_INTERP_NEAREST)
C++ Interface for resizing an image to specified dimensions.
AFAPI array rotate(const array &in, const float theta, const bool crop=true, const interpType method=AF_INTERP_NEAREST)
C++ Interface for rotating an image.
AFAPI af_err af_rotate(af_array *out, const af_array in, const float theta, const bool crop, const af_interp_type method)
C Interface for rotating an image.
AFAPI array scale(const array &in, const float scale0, const float scale1, const dim_t odim0=0, const dim_t odim1=0, const interpType method=AF_INTERP_NEAREST)
C++ Interface for scaling an image.
AFAPI af_err af_scale(af_array *out, const af_array in, const float scale0, const float scale1, const dim_t odim0, const dim_t odim1, const af_interp_type method)
C Interface for scaling an image.
AFAPI af_err af_skew(af_array *out, const af_array in, const float skew0, const float skew1, const dim_t odim0, const dim_t odim1, const af_interp_type method, const bool inverse)
C Interface for skewing an image.
AFAPI array skew(const array &in, const float skew0, const float skew1, const dim_t odim0=0, const dim_t odim1=0, const bool inverse=true, const interpType method=AF_INTERP_NEAREST)
C++ Interface for skewing an image.
AFAPI af_err af_transform(af_array *out, const af_array in, const af_array transform, const dim_t odim0, const dim_t odim1, const af_interp_type method, const bool inverse)
C Interface for transforming an image.
AFAPI array transform(const array &in, const array &transform, const dim_t odim0=0, const dim_t odim1=0, const interpType method=AF_INTERP_NEAREST, const bool inverse=true)
C++ Interface for transforming an image.
AFAPI af_err af_transform_v2(af_array *out, const af_array in, const af_array transform, const dim_t odim0, const dim_t odim1, const af_interp_type method, const bool inverse)
C Interface for the version of af_transform that accepts a preallocated output array.
AFAPI array translate(const array &in, const float trans0, const float trans1, const dim_t odim0=0, const dim_t odim1=0, const interpType method=AF_INTERP_NEAREST)
C++ Interface for translating an image.
AFAPI af_err af_translate(af_array *out, const af_array in, const float trans0, const float trans1, const dim_t odim0, const dim_t odim1, const af_interp_type method)
C Interface for translate an image.
Definition: algorithm.h:15