gpt4 book ai didi

matlab - 如何在 mex 文件中调用 imresize(MATLAB)

转载 作者:太空宇宙 更新时间:2023-11-03 20:07:55 25 4
gpt4 key购买 nike

我编写了以下代码以在 mex 文件中使用 imresize 函数。

   #include "mex.h"

void mexFunction(int nlhs, mxArray *plhs[], int nrhs, mxArray *prhs[])
{
mxArray *output[1];
mxArray *input[3];

input[0] = prhs[0];
input[1] = mxCreateDoubleMatrix(1, 1, mxCOMPLEX);
double *x = mxGetPr(input[1]);
x[0] = 0.5;

//double *p = mxGetPr(input[1]);
//mexPrintf("%f\n", p[0]);
input[2] = mxCreateString("bilinear");



mexCallMATLAB(0, NULL, 1, &prhs[0], "imshow");
mexCallMATLAB(1, output, 3, input, "imresize");
mexCallMATLAB(0, NULL, 1, &output[0], "imshow");
}

它给出了一个错误:函数 IMRESIZE 期望它的第二个输入 SCALE 为非零值。我该如何修复它?

最佳答案

所以只需尝试替换以下代码:

input[1] = mxCreateDoubleMatrix(1, 1, mxCOMPLEX);
double *x = mxGetPr(input[1]);
x[0] = 0.5;

用这条线

 input[1]=mxCreateDoubleScalar(0.5);

关于matlab - 如何在 mex 文件中调用 imresize(MATLAB),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5656060/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com