diff --git a/core.cpp b/core.cpp index f99e7cf0..3d207333 100644 --- a/core.cpp +++ b/core.cpp @@ -58,6 +58,10 @@ Mat Mat_NewWithSizesFromBytes(IntVector sizes, int type, struct ByteArray buf) { return new cv::Mat(_sizes, type, buf.data); } +Mat Mat_NewFromPoint2fVector(Point2fVector pfv, bool copy_data) { + return new cv::Mat(*pfv, copy_data); +} + Mat Eye(int rows, int cols, int type) { cv::Mat* mat = new cv::Mat(rows, cols, type); *mat = cv::Mat::eye(rows, cols, type); diff --git a/core.go b/core.go index b0014f47..b0c8e095 100644 --- a/core.go +++ b/core.go @@ -250,7 +250,7 @@ func NewMatWithSizesWithScalar(sizes []int, mt MatType, s Scalar) Mat { return newMat(C.Mat_NewWithSizesFromScalar(sizesVector, C.int(mt), sVal)) } -// NewMatWithSizesWithScalar returns a new multidimensional Mat with a specific size, type and preexisting data. +// NewMatWithSizesFromBytes returns a new multidimensional Mat with a specific size, type and preexisting data. func NewMatWithSizesFromBytes(sizes []int, mt MatType, data []byte) (Mat, error) { cBytes, err := toByteArray(data) if err != nil { @@ -312,6 +312,12 @@ func NewMatFromBytes(rows int, cols int, mt MatType, data []byte) (Mat, error) { return mat, nil } +// NewMatFromPoint2fVector returns a new Mat from a gocv.Point2fVector. +func NewMatFromPoint2fVector(pfv Point2fVector, copyData bool) Mat { + mat := newMat(C.Mat_NewFromPoint2fVector(pfv.p, C.bool(copyData))) + return mat +} + // Returns an identity matrix of the specified size and type. // // The method returns a Matlab-style identity matrix initializer, similarly to Mat::zeros. Similarly to Mat::ones. diff --git a/core.h b/core.h index 3276959f..fa824e49 100644 --- a/core.h +++ b/core.h @@ -306,6 +306,7 @@ Mat Mat_NewWithSizesFromBytes(IntVector sizes, int type, struct ByteArray buf); Mat Mat_NewFromScalar(const Scalar ar, int type); Mat Mat_NewWithSizeFromScalar(const Scalar ar, int rows, int cols, int type); Mat Mat_NewFromBytes(int rows, int cols, int type, struct ByteArray buf); +Mat Mat_NewFromPoint2fVector(Point2fVector pfv, bool copy_data); Mat Mat_FromPtr(Mat m, int rows, int cols, int type, int prows, int pcols); void Mat_Close(Mat m); int Mat_Empty(Mat m);