Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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
java中字节数组到matlab的转换_Java_Arrays_Matlab - Fatal编程技术网

java中字节数组到matlab的转换

java中字节数组到matlab的转换,java,arrays,matlab,Java,Arrays,Matlab,我有一个在Java中运行良好的程序,我正在尝试将它合并到Matlab中。我使用javaclasspath将一个外部jar文件添加到Matlab中,并且我能够使用import语句将类导入Matlab工作区 问题出现了,在java程序中,我有以下语句: byte[] data = imageUtils.bitmap2jpeg(bm); // imageUtils being the name of the class in external jar and data is an image 当我在

我有一个在Java中运行良好的程序,我正在尝试将它合并到Matlab中。我使用
javaclasspath
将一个外部jar文件添加到Matlab中,并且我能够使用import语句将类导入Matlab工作区

问题出现了,在java程序中,我有以下语句:

byte[] data = imageUtils.bitmap2jpeg(bm); // imageUtils being the name of the class in external jar and data is an image
当我在Matlab中使用相应的语句时,结果数据在Matlab中是int8格式的

data = imageUtils.bitmap2jpeg(bm);
如果我在Matlab中创建一个
fileoutputstream
对象并写入该数据,那么写入的图像就是正确的输出。但是,我无法直接在这张图片上进行imshow


是否有任何方法可以直接将
数据
转换为Matlab中的矩阵,使其成为原始图像以避免中间读写操作(如上所述)?我已经研究了
javaArray
来尝试直接创建字节数组而不是int8数据,但这不起作用。

什么是
bm
?它也是一个数组吗?这是包含图像文件路径的字符串吗?这在您的问题定义中并不清楚。听起来问题不是将字节读入Matlab,而是说服Matlab解释内存中的jpeg图像,而不是文件中的图像。@Pursuit-Ah ok。这当然不同。我从OP的post中不明白这一点。bm是由外部文件创建的另一个数据类型。但是,他们使用函数bitmap2jpeg将其转换为字节数组。问题是让matlab认识到int8阵列实际上是一个图像。即使是
数据
写入硬盘后的大小也与图像大小不同。