質問内容
C++とopenCVを用いて2枚のカラー画像(.bmp)を読み込み,それぞれBGRの値をvectorで作ったバッファーに格納するプログラムを作成したいです.それぞれBGRの分離はopenCVのsplitを使っています.また読み込む画像のサイズは同じで,8bitRGB画像です.
イメージとしては,一枚目の画像のBGRはそれぞれ,
image[0][0] //BのMatデータ
image[0][1] //GのMatデータ
image[0][2] //RのMatデータ
に格納して二枚目の画像のBGRはそれぞれ
image[1][0] //BのMatデータ
image[1][1] //GのMatデータ
image[1][2] //RのMatデータ
に格納したいという感じです.
添付のコードのように作成しようとしていました.
作成したvetorのバッファーが1次元目と2次元目両方とものMat型になっているのでエラーが出るのはわかるのですが,vectorの型指定を別々する方法などがわからなくて困っています.
また,できないとしたらどのような方法で格納することができるか教えていただきたいです.
初歩的な質問だと思いますが,よろしくお願いいたします.
出てきたエラー
該当のソースコード
C++,openCV
1 2vector<Mat>a(2); 3 4a[0] = imread("input_image1.bmp"); 5a[1] = imread("input_image2.bmp"); 6 7vector<vector<Mat>>image; 8 9for(int i = 0; i<2; i++){ 10 split(a[i],images[i]); 11} 12
補足情報(FW/ツールのバージョンなど)
C++
VisualStudio2019
openCV4.5.3
回答1件
あなたの回答
tips
プレビュー