Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 内存中的OpenCV jpeg格式图像_C++_Opencv - Fatal编程技术网

C++ 内存中的OpenCV jpeg格式图像

C++ 内存中的OpenCV jpeg格式图像,c++,opencv,C++,Opencv,是否有可能使用OpenCV将图像保存为字符串而不是文件 我在文档中只找到了这个函数: int cvSaveImage(const char* filename, const CvArr* image) 并且它只能保存到文件。您想如何在字符串中对图像进行编码? 您可以只将红色、绿色和蓝色值存储为逗号分隔的字符串,但将图像二进制编码为类似base64的格式会更紧凑 编辑:如果您指的是内存中的jpeq格式,请参见-,也许您可以简单地创建一个char*缓冲区并将IplImage数据结构复制到那里? 但

是否有可能使用OpenCV将图像保存为字符串而不是文件

我在文档中只找到了这个函数:

int cvSaveImage(const char* filename, const CvArr* image)

并且它只能保存到文件。

您想如何在字符串中对图像进行编码?
您可以只将红色、绿色和蓝色值存储为逗号分隔的字符串,但将图像二进制编码为类似base64的格式会更紧凑


编辑:如果您指的是内存中的jpeq格式,请参见-

,也许您可以简单地创建一个char*缓冲区并将IplImage数据结构复制到那里? 但是要小心,您应该小心地复制指针变量,例如
imageData
imageDataOrigin
等等

因此,我们的想法是把所有东西都放在你的缓冲区中,这样你就可以从接收者的角度对其进行解码


opencv是一个开源库,您可以简单地复制opencv的savefile函数体,将在文件中写入替换为在缓冲区中写入

将图像保存为字符串是什么意思?例如,我的意思是不要保存到文件,而是保存到char*变量。您可以使用JPEG库压缩图像数据。嗯,我希望图像保存为JPEG格式,但不是文件,而是字符串。我知道我可以将其保存到文件,然后从该文件加载,但我根本不想存储图像。我想通过wifi将其发送到另一台电脑。我的缓冲区中有BGR图像,我想将其转换为JPEG。