C++を使って以下のように乱数で3次元ベクトルを作りました。
値を代入した後、
・画像(shape(100, 100, 5))に変換
・sizeの表示
をしようとしましたがうまく行きません。
うまく配列を画像(shape==(1000, 100, 5)
)に変換する方法を教えていただけないでしょうか?
参考サイト
・C言語 多次元配列
・C++のvectorまとめ
np.cpp
c++
1#include <stdio.h> 2#include <stdlib.h> 3#include <vector> 4#include <opencv2/opencv.hpp> 5using namespace std; 6using namespace cv; 7int main(void) { 8 cv::Mat image; 9 vector<vector<vector<int>>> vvv; 10 int i = 0; 11 int j = 0; 12 int k = 0; 13 for(i = 0; i < 100; i++) { 14 for(j = 0; j < 100; j++) { 15 for(k = 0; k < 5; k++) { 16 srand(i+j+k); 17 vvv[i][j][k] = rand()%6+1; 18 } 19 } 20 } 21 vvv.convertTo(image, CV_8U); 22 cout << "Width : " << image.cols << endl; 23}
コンパイル&エラー
sh
1$ g++ -std=c++11 np.cpp -o np `pkg-config --cflags opencv` `pkg-config --libs opencv` 2>>> 3np.cpp: In function 'int main()': 4np.cpp:21:13: error: 'class std::vector<std::vector<std::vector<int> > >' has no member named 'convertTo' 5 vvv.convertTo(image, CV_8U);
回答1件
あなたの回答
tips
プレビュー