在内存中打开OpenCV JPEG格式图像

3
有没有可能使用OpenCV将图像保存到字符串而不是文件中?
我在文档中只发现了这个函数:
int cvSaveImage(const char* filename, const CvArr* image)

它只能保存到文件中。


将图像保存为字符串是什么意思? - Utkarsh Sinha
1
我的意思是不要保存到文件,而是保存到char*变量中,例如。 - Richard Knop
你可以使用JPEG库来压缩图像数据。 - Utkarsh Sinha
2个回答

1

我想将图像保存为JPEG格式,但不是保存到文件中,而是保存到字符串中。 - Richard Knop
我知道我可以把它保存到文件中,然后从那个文件中加载它,但我不想存储这张图片。我想通过wifi将它发送到另一台电脑。 - Richard Knop
https://dev59.com/YnRA5IYBdhLWcg3w2x2W - Martin Beckett

1
也许你可以简单地创建一个char*缓冲区,并将你的IplImage数据结构复制到那里? 但要小心,你应该仔细复制指针变量,比如imageDataimageDataOrigin等等。
所以,这个想法是把所有东西都放在你的缓冲区里,以便你可以从接收端解码它。
而opencv是一个开源库,你可以简单地复制opencv的savefile函数体,将写入文件替换为写入你的缓冲区。

我在缓冲区中有一张BGR图像,我想将其转换为JPEG。 - Richard Knop

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接