【发布时间】:2015-01-14 04:11:23
【问题描述】:
所以我确信这是一个非常简单的问题,但是我在读取和显示 .bin 文件中的数据时遇到了问题。基本上,我有一个图像(256x256,每像素 8 位),我正在尝试读取和显示。虽然我可以让它适用于 .jpg 或 .tif,但我无法让它适用于 .bin 文件。这是我现在的代码:
file = fopen('image.bin', 'r');
A = fread(file);
imshow(A) %not sure if this is correct...
% imshow(file) doesn't work
% imshow('image.bin') doesn't work either
fclose(file);
有什么想法吗?
【问题讨论】:
-
.bin文件非常模糊。它可以是任何东西。你知道这是不是原始图像吗?该文件是否包含原始图像像素本身?此外,.bin文件的链接将有助于回答您的问题。如果是二进制文件,fread会将文件的全部内容读入一个数组,然后你需要reshape 数组,使它变成一个图像。此外,由于您的图像是每像素 8 位,请尝试使用您的fread调用:A = fread(file, 256*256, 'uint8=>uint8');执行此操作。接下来,执行此操作以重塑图像:A = reshape(A, 256, 256).';现在尝试imshow(A) -
我不确定文件是图像还是原始图像像素,但您提供的代码有效。非常感谢!
-
呸哈哈,如果有效,那么数据就是原始图像像素。凉爽的!介意我写一个答案,你能接受吗?
-
我还是写了一个答案。有机会请接受 :) 谢谢!
-
非常感谢!祝你好运!
标签: image matlab image-processing bin