登录论坛

查看完整版本 : 将二进制图像从matlab导入到“ C”程序


poster
2019-12-10, 20:42
我在Matlab中有一个二进制映像,并且在C程序中需要二进制数组(0和1),如何导入它?

我可以将二进制图像保存为Matlab中的“ .mat”,但我不知道如何在C中读取Mat文件。另外,我想也许可以将二进制图像中的二进制图像另存为“ .bin”,在“ C”,但我不知道如何将图像在Matlab中另存为“ .bin”。

任何帮助将不胜感激。



回答:

您还可以将数据写入二进制文件,该文件的大小大约是文本的两倍。

img=rand(10)>.5; %# an array from @Amro's answer fid = fopen('test.bin','w'); fwrite(fid,img,'int8') fclose(fid); 然后,我相信您可以毫无问题地用C语言阅读它。请记住,MATLAB将按列而不是按行写入数据-首先是第一列,然后是第二列,依此类推。如果要按行在C中读取数据,只需在写之前转置数组即可:

fwrite(fid,img','int8') %# notice ' symbol after img

更多&回答... (https://stackoverflow.com/questions/3103208)