Improve the doc for cv::Mat::checkVector.

This commit is contained in:
Fangjun Kuang
2018-01-18 16:28:13 +01:00
parent ec353dbdda
commit 8efe7bafaa
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;
}