最終更新:2018-08-04 (土) 03:52:08 (48d)  

cv::Mat はてなブックマークを見る
Top / cv::Mat

  • OpenCV 2.0からはC++ Interfaceに対応され、「cv」という名前空間が登場しました。
  • これまで画像データはIplImage構造体で管理されていましたが、C++ Interfaceではcv::Matというクラスで管理されるようになります。(従来のIplImageも使用可能です。)

生の画素

  • Mat.data

メモ

  • Mat(width, height, CV_8UC3, cv::Scalar?(255, 255, 255));

クラス

コンストラクタ

  • Mat ()
    Mat (int rows, int cols, int type)
    Mat (Size size, int type)
    Mat (int rows, int cols, int type, const Scalar &s)
    Mat (Size size, int type, const Scalar &s)
    Mat (int ndims, const int *sizes, int type)
    Mat (int ndims, const int *sizes, int type, const Scalar &s)
    Mat (const Mat &m)
    Mat (int rows, int cols, int type, void *data, size_t step=AUTO_STEP)
    Mat (Size size, int type, void *data, size_t step=AUTO_STEP)
    Mat (int ndims, const int *sizes, int type, void *data, const size_t *steps=0)
    Mat (const Mat &m, const Range &rowRange, const Range &colRange=Range::all())
    Mat (const Mat &m, const Rect &roi)
    Mat (const Mat &m, const Range *ranges)

オペレータ

  • Mat operator() (const cv::Rect &roi) const
    Mat operator() (const cv::Range? *ranges) const

関数

チートシート

基本処理

コピー

  • =で代入すると浅いコピーが行われ、データが共有される
    • cv::Mat::data?は同じメモリアドレスを指す
  • 別データとしてコピーするにはcv::Mat::cloneを使う。

参考

関連