cv::Matxのススメ
cv::Matを使うと行列の演算を簡単に行えるので便利と言えば便利なのですが、
初期化や要素のアクセスはちょっと面倒ですよね。
初期化は以下の2通りあります。
初期化や要素のアクセスはちょっと面倒ですよね。
単純な行列を扱うだけなら、cv::Matxを使うと良いでしょう。
// 2x3 の行列
cv: cv::Mat mat23 = (cv::Mat_<double>(2,3) << 1, 2, 3, 4, 5, 6);
// 要素へのアクセス
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
std::cout << mat23.at<double>(i,j) << std::endl;
}
}
初期化は以下の2通りあります。
// 2x3 の行列
cv::Matx23d mat23(1, 2, 3,
4, 5, 6);
要素へのアクセスはMatlabのように()を用います。
// 2x3 の行列
cv::Matx23d mat23;
mat23 << 1, 2, 3,
4, 5, 6;
簡単なのでオススメです。
// 要素へのアクセス
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
std::cout << mat23(i,j) << std::endl;
}
}
- 関連記事
-
- ORBでホモグラフィー行列推定
- OpenCV 2.4.5に更新しました
- cv::Matxのススメ
- 5点アルゴリズム使ってみた (2)
- 5点アルゴリズム使ってみた