建立单个连续数据序列2维上采样变换的plan。
C interface:
kml_fft_plan kml_fft_plan_upsampling_2d(int n0, int n1, int n0_result, int n1_result, double s0, double s1, double *in_, double *out_, unsigned flags);
kml_fftf_plan kml_fftf_plan_upsampling_2d(int n0, int n1, int n0_result, int n1_result, float s0, float s1, float *in_, float *out_, unsigned flags);
kml_ffth_plan kml_ffth_plan_upsampling_2d(int n0, int n1, int n0_result, int n1_result, __fp16 s0, __fp16 s1, __fp16 *in_, __fp16 *out_, unsigned flags);
参数名 |
数据类型 |
描述 |
输入/输出 |
---|---|---|---|
n0 |
int |
输入图像的行数。 |
输入 |
n1 |
int |
输入图像的列数。 |
输入 |
n0_result |
int |
输出图像的行数。 |
输入 |
n1_result |
int |
输出图像的列数。 |
输入 |
s0 |
|
shift操作的x分量。 |
输入 |
s1 |
|
shift操作的y分量。 |
输入 |
in |
|
输入图像的内存指针。 |
输入 |
out |
|
输出图像的内存指针。 |
输出 |
flags |
unsigned |
planning选项,未使用。 |
输入 |
C: "kfft.h"
C interface:
int n0 = 3; int n1 = 3; int n0_result=7; int n1_result=7; double init[9] = {0, 1, 0, 1, 0, 1, 0, 1, 0}; double *in; in = (double*)kml_fft_malloc(sizeof(double) * n0 * n1); for (int i = 0; i < n0 * n1; i++) { in[i] = init[i]; } double *out; out = (double*)kml_fft_malloc(sizeof(double) * n0_result * n1_result); kml_fft_plan plan; plan = kml_fft_plan_upsampling_2d(n0, n1, n0_result, n1_result, 0, 0, in, out, KML_FFT_ESTIMATE); kml_fft_execute(plan); kml_fft_destroy_plan(plan); kml_fft_free(in); kml_fft_free(out); /* * out = {0.000000, 0.105960, 0.178233, 0.162397, 0.070375, -0.028537, -0.059857, * 0.105960, 0.089665, 0.078550, 0.080985, 0.095137, 0.110349, 0.115165, * 0.178233, 0.078550, 0.010558, 0.025457, 0.112027, 0.205080, 0.234545, * 0.162397, 0.080985, 0.025457, 0.037624, 0.108326, 0.184322, 0.208386, * 0.070375, 0.095137, 0.112027, 0.108326, 0.086821, 0.063706, 0.056387, * -0.028537, 0.110349, 0.205080, 0.184322, 0.063706, -0.065941, -0.106993, * -0.059857, 0.115165, 0.234545, 0.208386, 0.056387, -0.106993, -0.158727} */