From a6df67e8bcd5159cde27556f4f6a315f8dc2215f Mon Sep 17 00:00:00 2001 From: shamikam Date: Mon, 16 Jan 2017 02:56:17 +0530 Subject: First Commit --- sci_gateway/cpp/dctmtx.cpp | 96 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 sci_gateway/cpp/dctmtx.cpp (limited to 'sci_gateway/cpp/dctmtx.cpp') diff --git a/sci_gateway/cpp/dctmtx.cpp b/sci_gateway/cpp/dctmtx.cpp new file mode 100644 index 0000000..17683d2 --- /dev/null +++ b/sci_gateway/cpp/dctmtx.cpp @@ -0,0 +1,96 @@ +/* ==================================================================== */ +/* 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