我正在尝试使用低级函数(fopen
和fread
)来读取 TIFF 格式的灰度图像,uint16
如下所示:
fid = fopen(filepath,'r');
img = fread(fid,[ncolms, nrows], 'uint16=>uint16')';
得到的图像矩阵与简单地使用得到的图像矩阵不同imread
:
img = imread(filepath);
生成的图像如下所示(左侧为 by fread
,右侧为 by imread
):
除了明显的强度差异外,人们可能还会注意到fread
图像的顶部边缘存在一些伪影。我认为这一定是由于他们阅读图像的机制不同。
fopen
我想知道如何使用和读取图像(灰度,不是二进制)这样的低级函数,如果可以的话fread
,相当于使用。imread