矢量Uchar对cv :: Mat

时间:2015-11-30 14:37:16

标签: c++ opencv vector

我有一个图像,我将其放入foo()的向量中,我使用open mpi从处理器发送到处理器,但是我需要将uchar的向量放入{{1} }}

有一种简单的方法吗?

uchar

上面显示了我如何将图像放入矢量并发送它,有一个相应的recv它可以工作,但我不知道如何将它变回图像。

1 个答案:

答案 0 :(得分:1)

您可以使用以下代码将Mat存储到vector<uchar>

Mat img = ...; // img must be CV_8UC1 in this example
vector<uchar> v(img.begin<uchar>(), img.end<uchar>());

并使用:

返回Mat
Mat img2(img.rows, img.cols, img.type(), v.data());

请注意,您不是要复制值,而只是为Mat中的数据创建v标头,因此img2将反映{{1}上所做的任何更改}}。如果v超出范围,则v将失效。您只需使用img2复制数据,例如:

clone()