我有一个图像,我将其放入foo()
的向量中,我使用open mpi从处理器发送到处理器,但是我需要将uchar
的向量放入{{1} }}
有一种简单的方法吗?
uchar
上面显示了我如何将图像放入矢量并发送它,有一个相应的recv它可以工作,但我不知道如何将它变回图像。
答案 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()