Merge pull request #10635 from csukuangfj:doc-checkVector
commit
a1d2258ac3
2 changed files with 63 additions and 1 deletions
@ -0,0 +1,42 @@ |
|||||||
|
/**
|
||||||
|
* @brief It demonstrates the usage of cv::Mat::checkVector. |
||||||
|
*/ |
||||||
|
|
||||||
|
#include <opencv2/core.hpp> |
||||||
|
|
||||||
|
int main() |
||||||
|
{ |
||||||
|
//! [example-2d]
|
||||||
|
cv::Mat mat(20, 1, CV_32FC2); |
||||||
|
int n = mat.checkVector(2); |
||||||
|
CV_Assert(n == 20); // mat has 20 elements
|
||||||
|
|
||||||
|
mat.create(20, 2, CV_32FC1); |
||||||
|
n = mat.checkVector(1); |
||||||
|
CV_Assert(n == -1); // mat is neither a column nor a row vector
|
||||||
|
|
||||||
|
n = mat.checkVector(2); |
||||||
|
CV_Assert(n == 20); // the 2 columns are considered as 1 element
|
||||||
|
//! [example-2d]
|
||||||
|
|
||||||
|
mat.create(1, 5, CV_32FC1); |
||||||
|
n = mat.checkVector(1); |
||||||
|
CV_Assert(n == 5); // mat has 5 elements
|
||||||
|
|
||||||
|
n = mat.checkVector(5); |
||||||
|
CV_Assert(n == 1); // the 5 columns are considered as 1 element
|
||||||
|
|
||||||
|
//! [example-3d]
|
||||||
|
int dims[] = {1, 3, 5}; // 1 plane, every plane has 3 rows and 5 columns
|
||||||
|
mat.create(3, dims, CV_32FC1); // for 3-d mat, it MUST have only 1 channel
|
||||||
|
n = mat.checkVector(5); // the 5 columns are considered as 1 element
|
||||||
|
CV_Assert(n == 3); |
||||||
|
|
||||||
|
int dims2[] = {3, 1, 5}; // 3 planes, every plane has 1 row and 5 columns
|
||||||
|
mat.create(3, dims2, CV_32FC1); |
||||||
|
n = mat.checkVector(5); // the 5 columns are considered as 1 element
|
||||||
|
CV_Assert(n == 3); |
||||||
|
//! [example-3d]
|
||||||
|
|
||||||
|
return 0; |
||||||
|
} |
Loading…
Reference in new issue