0

我是opencv的新手,我正在尝试从文本文件中读取像素值。我正在读取并将其存储在浮点向量中。

vector<float> iArray;

我想从该浮点数据创建图像。我必须将浮点数据复制到垫子上。

我正在这样做,它似乎不起作用。

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 回答