/* ==================================================================== */ /* Author :Priyanka Hiranandani NIT Surat */ /* ==================================================================== */ /* Syntax : return_n*n_matrix=dctmtx(double n) */ /* ==================================================================== */ #include #include "opencv2/core/core.hpp" #include "opencv2/highgui/highgui.hpp" #include "opencv2/opencv.hpp" #include #include #include #include using namespace cv; using namespace std; extern "C" { #include "api_scilab.h" #include "Scierror.h" #include "BOOL.h" #include #include "../common.h" #define PI 3.14 int dctmtx(char *fname, unsigned long fname_len) { // Error management variable SciErr sciErr; //variable info int iRows=0; int iCols=0; int piRows=0; int piCols=0; int* piAddr2=NULL; int* piAddr1=NULL; int* piAddr3=NULL; double *value=NULL; int* piLen=NULL; char **val; int i,j; int error; double n; Mat img,dst; //checking input and output argument CheckInputArgument(pvApiCtx,1,1); CheckOutputArgument(pvApiCtx,1,1); sciErr = getVarAddressFromPosition(pvApiCtx,1,&piAddr1); if (sciErr.iErr) { printError(&sciErr, 0); return 0; } //this function will fetch value of first argument error=getScalarDouble(pvApiCtx,piAddr1,&n) ; if(error!=0) { sciprint("error in retrieving second argument"); } int k=0; double *mat; int s=n; mat=(double *)malloc(sizeof(double)*n*n); for(int i=0;i