Base-64到Mat转换opencv

时间:2013-05-30 11:35:07

标签: java c++ opencv base64 javacv

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

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

如何在C ++ uisng opencv中执行此操作?还是用C ++?

1 个答案:

答案 0 :(得分:1)

对我来说,为什么你首先使用Base64(你想通过摩尔斯电码传输你的图片吗?)是绝对神秘的。但是你肯定必须先将你的字符串转换成propper字节然后才能将它转换为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。我希望这有用 - 我不确定我是否得到了你想做的事。