mexopencv  3.4.1
MEX interface for OpenCV library
filterSpeckles.cpp
Go to the documentation of this file.
1 
8 #include "mexopencv.hpp"
9 #include "opencv2/calib3d.hpp"
10 using namespace std;
11 using namespace cv;
12 
20 void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
21 {
22  // Check the number of arguments
23  nargchk(nrhs==4 && nlhs<=1);
24 
25  // Argument vector
26  vector<MxArray> rhs(prhs, prhs+nrhs);
27 
28  // Process
29  Mat img(rhs[0].toMat(rhs[0].isUint8() ? CV_8U : CV_16S));
30  double newVal = rhs[1].toDouble();
31  int maxSpeckleSize = rhs[2].toInt();
32  double maxDiff = rhs[3].toDouble();
33  filterSpeckles(img, newVal, maxSpeckleSize, maxDiff);
34  plhs[0] = MxArray(img);
35 }
#define CV_8U
STL namespace.
struct mxArray_tag mxArray
Forward declaration for mxArray.
Definition: matrix.h:259
void filterSpeckles(InputOutputArray img, double newVal, int maxSpeckleSize, double maxDiff, InputOutputArray buf=noArray())
mxArray object wrapper for data conversion and manipulation.
Definition: MxArray.hpp:123
void nargchk(bool cond)
Alias for input/output arguments number check.
Definition: mexopencv.hpp:181
STL class.
Global constant definitions.
#define CV_16S
cv::Mat toMat() const
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
Main entry called from Matlab.