请教如何将二进制的数组文件转换为图像(bmp

请教如何将二进制的数组文件转换为图像(bmp,第1张

从bmp文件中读取数据,读取到的数据放到字节数组中。 然后,将字节数组的每一个字节,输出成文本字符串。 例如,字节是0x03,转成字符串"03";字节是0xFF,转成字符串“FF”。 然后把字符串写入文本即可。

1.matlab:

fid=fopen("bif.bin","wb")

fwrite(fid,A','double')%A是矩阵,double是保存文件的数据类型。A'是A的转置,原因是,在matlab中数据是按列存放,c中是按行。所以在matlab中应先进行转置,这样

%到c中读出的数据才是正确的。

2.c:

(1)c中使用fopen,读取到二维数组中

int num_read = fread(buf, 1, length, fp)

写入和读出的方式一样就行了:

给你个例子:

# include <stdio.h>

#include <time.h>

#include <stdlib.h>

int main(void)

{

 float u2[200][200]

 float u2_1[200][200]

 int i,j

 FILE* fp=fopen("d:\\1.dat","wb+")

 srand(time(0))

 for (i=0i<200*200i++)

 {

  *((float*)u2+i)=rand()/100.0

 }

 fwrite(u2,sizeof(u2),1,fp)

 fclose(fp)

 fp=fopen("d:\\1.dat","rb")

 fread(u2_1,sizeof(u2_1),1,fp)

 fclose(fp)

 for (i=0i<200i++)     //验证

 {

  for (j=0j<200j++)

  {

   if (u2[i][j]!=u2_1[i][j])

   {

    printf("内容不同\n")

    return 1

   }

  }

 }

 printf("内容相同\n") 

 return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11505601.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存