mexopencv  3.4.1
MEX interface for OpenCV library
clipLine.cpp
Go to the documentation of this file.
1 
8 #include "mexopencv.hpp"
9 #include "opencv2/imgproc.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==3 && nlhs<=3);
24 
25  // Argument vector
26  vector<MxArray> rhs(prhs, prhs+nrhs);
27  bool rect_variant = (rhs[0].numel() == 4);
28 
29  // Process
30  Point pt1(rhs[1].toPoint()), pt2(rhs[2].toPoint());
31  bool inside = false;
32  if (!rect_variant)
33  inside = clipLine(rhs[0].toSize(), pt1, pt2);
34  else
35  inside = clipLine(rhs[0].toRect(), pt1, pt2);
36  plhs[0] = MxArray(inside);
37  if (nlhs>1)
38  plhs[1] = MxArray(pt1);
39  if (nlhs>2)
40  plhs[2] = MxArray(pt2);
41 }
STL namespace.
struct mxArray_tag mxArray
Forward declaration for mxArray.
Definition: matrix.h:259
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
Main entry called from Matlab.
Definition: clipLine.cpp:20
bool clipLine(Size imgSize, Point &pt1, Point &pt2)
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.