OpenCv 2.4.10でC++のフレーム間に距離行列を構築しようとしています。私はマットのマットが必要だと思うので、すべてのフレームを最初の行に置き、フレームごとにXOR演算子を作ります。しかし、そうするには、それぞれの位置に別の行列を含む行列のような構造が必要です。マットのマットのようなものはありますか?または、別のソリューションを提案できますか?私はVectorを使うことを考えましたが、Matの配列以上が必要です。ありがとう、私はこれで新しいです!OpenCv C++でMatを作成する
0
A
答えて
0
私が正しく見つけたら、2次元のMatオブジェクトです。各オブジェクトは別の2次元のMatオブジェクトです。これは、4次元のMatオブジェクトを作成するのと同じです。 OpenCVのは、このような機能を持っている - それだけであまり人気の少ない便利なマットコンストラクタの1つを使用することを含む:
const int num_of_dim = 4;
const int dimensions[num_of_dim] = { a, b, c, d }; // a, b, c, d - desired dimensions defined elsewhere
cv::Mat fourd_mat(num_of_dim, dimensions, CV_32F);
チェックマット::マットOpenCVのドキュメントで、(int型ndims、constのint型*サイズ、int型)コンストラクタ:
http://docs.opencv.org/2.4.10/modules/core/doc/basic_structures.html#Mat::Mat(int%20ndims,%20const%20int *%20sizes、%20int%20type)
だけでなく、より多くの例やドキュメントを検索する語句「多次元」と「n次元」というページ上の検索。
EDIT:
要求されたように、私はこのような構造にイメージをロードする方法を示しています。それはきれいではありませんが、私は最も簡単な方法は、ピクセルで画像のピクセルをコピーすることであると思います。
img = imread("path/img.jpg", 1);
for (int i = 0; i < 179; ++i)
{
for (int j = 0; i < img.rows; ++i)
{
for (int k = 0; j < img.cols; ++j)
{
const int coords1[4] = { i, 0, j, k };
const int coords2[4] = { 0, i, j, k };
fourd_mat.at<float>(coords1) = img.at<float>(j, k); //line 1
fourd_mat.at<float>(coords2) = img.at<float>(j, k); //line 2
}
}
}
ラインLINE1があなたのラインSTRUTTURAと等価であるとして、[I] [0] = IMGコメント。およびライン2は、と同等です。struttura [0] [i] = img;の2つの最も内側のforループが終了した後。それは8UCだ場合、あなたは(でに UCHAR でフロートを交換する必要が)機能 -
上記のコードは、あなたのイメージの種類がCV_32Fであることを前提としています。
関連する問題
- 1. opencv Matを2dグリッドに作成する
- 2. MatのOpenCV C++エラー:
- 3. pythonでopenCVを使ってMatを作成する
- 4. OpenCV Matを作成するとメモリリークが発生する
- 5. opencv :: MatをMat *にコピーする*
- 6. Opencv - 配列からMatを作成する
- 7. OpenCV Mat CV_32FC1
- 8. OpenCV Mat corrupt
- 9. Opencv C++のJava相当版Mat-> data []
- 10. JavaFXでOpenCV Matを表示
- 11. Caffe caffe :: DatumをOpenCV cv :: Matに変換するC++で
- 12. Android JavaアプリケーションでOpenCV Matを使用します。 NoClassDefFound Error with OpenCV Mat
- 13. OpenCVパッディングMat、VideoWriterで使用
- 14. OpenCV Matデータ構造
- 15. OpenCV Mat :: Mulのパラメータ
- 16. OpenCV Mat :: ones関数
- 17. OpenCVのMat :: type()でMatオブジェクトのタイプを調べる方法
- 18. OpenCV C++の(Mat)行列の値を出力する
- 19. C++配列をopencvに変換する方法Mat
- 20. C++ - RGB 1-D ArrayをOpenCV Matに変換する
- 21. OpenCVセグメンテーションフォールト(コアダンプ)CvDA :: Mat ::を
- 22. C++でOpencv 2.3 Matポインタがあります
- 23. BufferedImageをOpenCvに変換するMat
- 24. JNIでビットマップをOpencv :: Matに変換
- 25. opencv 2.0でMatを明示的にリリース
- 26. OpenCV CV :: MatとEigen :: Matrix
- 27. Android opencv byte [] to mat to byte []
- 28. OpenCV#Mat Typeの定義タイプ
- 29. OpenCV Matオブジェクトのアクセス値UINT16
- 30. python - OpenCV mat :: convertTo in python
ありがとうございます。私はそれを調べてお知らせします。 – stardust
ねえ、これはあなたが探していたものですか? – KjMag