0

客户端通过网络 (Windows Forms C#) 接收图像 ( Image.FromStream )。服务器将图像作为字节数组(bmp 格式)发送。如何将 IplImage opencv 转换为字节数组(bmp 格式)C++?不保存到文件(性能)。

4

2 回答 2

1

尝试使用opencv函数imencode

描述

bool imencode(const string& ext, const Mat& img, vector<uchar>& buf, const vector<int>& params=vector<int>())

例子

vector<uchar> buf;
Mat matImage = iplImage;
imencode(".bmp", matImage, buf);
size = buf.size();
copy(buf.begin(), buf.end(), byteArray);
于 2013-07-09T13:22:45.000 回答
0

这取决于您是只想保存文件还是要为其编写结构。

cvSaveImage("foo.bmp",img); // img is your IplImage

将位图文件读入结构描述了如何为 bmp 文件定义一个好的结构,如果你想从服务器发送它(它是 C,但如果你愿意,我想你可以调整它)

于 2013-07-05T08:32:08.347 回答