【OpenCV3】cv::Mat的定义与初始化
生活随笔
收集整理的這篇文章主要介紹了
【OpenCV3】cv::Mat的定义与初始化
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
cv::Mat是OpenCV2和OpenCV3中基本的數(shù)據(jù)類型,在cv::Mat類中,關于cv::Mat的定義和初始化有多種不同的形式,這里,將對其進行詳盡的總結(jié)和介紹。
一、無數(shù)據(jù)拷貝的cv::Mat的定義和初始化
1、默認形式
cv::Mat m;
2、指定類型和大小(行列)的二維數(shù)組
cv::Mat m(int rows, int cols, int type);
3、有初始化值的指定類型和大小(行列)的二維數(shù)組
cv::Mat m(int rows, int cols, int type, const Scalar& s);
4、使用預先存在數(shù)據(jù)定義的指定類型和大小(行列)的二維數(shù)組
cv::Mat m(int rows, int cols, int type, void* data, size_t step = AUTO_STEP);
5、指定大小(size)和類型的二維數(shù)組
cv::Mat m(cv::Size sz, int type, const Scalar& s);
6、使用預先存在的數(shù)據(jù)定義的指定大小(size)和類型的二維數(shù)組
cv::Mat m(cv::Size sz, int type, void* data, size_t step = AUTO_STEP);
7、指定類型的多維數(shù)組
cv::Mat m(int ndims, const int* sizes, int type);
8、有初始化值的指定類型多維數(shù)組 cv::Mat m(int ndims, const int* sizes, int type, const Scalar& s);
9、使用預先存在的數(shù)據(jù)定義的指定類型的多維數(shù)組 cv::Mat m(int ndims, const int* sizes, int type, void* data, size_t step = AUTO_STEP);
二、從其他cv::Mat進行數(shù)據(jù)拷貝的定義和初始化
1、拷貝構造形式
cv::Mat m(const cv::Mat& mat);
2、指定行列范圍的拷貝構造
cv::Mat m(const cv::Mat& mat, const cv::Range& rows, const cv::Range& cols);
3、指定ROI的拷貝構造
cv::Mat m(const cv::Mat& mat, const cv::Rect& roi);
4、使用多維數(shù)組中指定范圍內(nèi)的數(shù)據(jù)的拷貝構造
cv::Mat(const cv::Mat& mat, const cv::Range* ranges);
1、使用cv::Vec定義相同類型、大小為n的一維數(shù)組
cv::Mat m(const cv::Vec<T, n>& vec, bool = copyData = true);
2、使用cv::Matx定義相同類型、大小為mxn的二維數(shù)組
cv::Mat(const cv::Matx<T, m, n>& vec, bool copyData = true);
3、使用STL vector定義相同類型的一維數(shù)組
cv::Mat(const std::vector<T>& vec, bool copyData = true);
四、直接使用靜態(tài)函數(shù)創(chuàng)建cv::Mat
1、使用zeros()函數(shù)定義指定大小和類型的cv::Mat(全為0)
cv::Mat m = cv::Mat::zeros(int rows, int cols, int type);
2、使用ones()函數(shù)定義指定大小和類型的cv::Mat(全為0)
cv::Mat m = cv::Mat::ones(int rows, int cols, int type);
3、使用eye()函數(shù)定義指定大小和類型的cv::Mat(恒等矩陣)
cv::Mat m = cv::Mat::eye(int rows, int cols, int type);
總結(jié)
以上是生活随笔為你收集整理的【OpenCV3】cv::Mat的定义与初始化的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【算法+OpenCV】图像极坐标变换及基
- 下一篇: 【OpenCV3】cv::Mat块访问与