0

如何在 opencv 中将 base-64 字符串转换为 Mat 格式。

我需要将图像从 jave 发送到 C++(opencv 代码)。

如何在 C++ uisng opencv 中做到这一点?还是在 C++ 中?

4

1 回答 1

1

对我来说,为什么你首先使用 Base64 是一个绝对的谜(你想通过摩尔斯电码传输你的图片吗?)但是你必须首先将你的字符串再次转换为适当的字节,然后才能将其转换为 cv::垫。因此,您必须使用用于生成 Base64 字符串的任何函数和字符集再次展开它。只要你有一个正确的字节数组,就很容易得到一个 cv::Mat :

cv::Mat image(height,rows,CV_8UC3,array.data());   

如果你不打算通过古老的通信系统传输你的图像,我会走这条捷径,直接读入位图:

Mat image;
image = imread("full/path/of/image.bmp", CV_LOAD_IMAGE_COLOR); 

并且还建议您使用 C++ 执行所有操作或使用 javaCV。我希望这会有所帮助 - 我不确定我是否得到了你想要做的事情。

于 2013-06-13T10:58:30.520 回答