0

テキストファイルからピクセル値を読み込もうとしています。私はそれを読んで浮動小数点ベクトルに保存しています。

vector<float> iArray;

その浮動小数点データから画像を作成したい。float データを Mat にコピーする必要があります。

私はこれを行っていますが、機能していないようです。

Mat image(640, 480, CV_32FC3);
for (int i = 0; i < iArray.size(); ++i)
    image = iArray.at(i);

他のデータ型と同様に、値をイメージにコピーするだけで十分だと思いますが、そうではありません。私は間違っていると確信しています。私を助けてください。ありがとうございました。

4

1 に答える 1

0

間違った方法でドキュメントを読まずに何かをしようとしているようです。

なぜMat3つのチャンネルで作成したのですか? 入力画像には 3 つのチャネルがありますか? 次のことを行う必要があるようです。

Mat image(Size(640,480) CV_32FC1);
int k=0;
for (int i = 0; i < image.rows; ++i)
{
    for (int j = 0; j < image.cols; ++j)
    {
        image.at<float>(i,j) = iArray[k];
        ++k;
    }
}
于 2013-05-11T07:27:29.133 に答える