📄 hdfread.m
字号:
function [first, second, third]=hdfread( filename, tagref )
%HDFREAD Read data from HDF file.
% Note: HDFREAD has been grandfathered; use IMREAD instead.
%
% I=HDFREAD('filename', [GROUPTAG GROUPREF]) reads a binary
% or intensity image from an HDF file.
%
% [X,MAP]=HDFREAD('filename', [GROUPTAG GROUPREF]) reads an
% indexed image and its colormap (if available) from an HDF file.
%
% [R,G,B]=HDFREAD('filename', [GROUPTAG GROUPREF]) reads an
% RGB image from an HDF file.
%
% Use the HDFPEEK function to inspect the file for group tags,
% reference numbers, and image types. Example:
% [tagref,name,info] = hdfpeek('brain.hdf');
% for i=1:size(tagref,1),
% if info(i)==8,
% [X,map] = hdfread('brain.hdf',tagref(i,:)); imshow(X,map)
% end
% end
%
% See also IMFINFO, IMREAD, IMWRITE.
% Author: J.M. Winograd 7-93
% updated to call IMREAD, Chris Griffin 8-15-96
% Copyright 1993-1998 The MathWorks, Inc. All Rights Reserved.
% $Revision: 5.6 $ $Date: 1997/11/24 15:35:06 $
error( nargchk( 2, 2, nargin ) );
if (~isstr(filename))
error( 'FILENAME must be a string.' );
end
[info,msg] = imfinfo(filename,'hdf');
if ~isempty(msg),
error(msg);
end
groupref = tagref(2);
[X,map] = imread(filename,'hdf',tagref(2));
if isempty(map)
sizeX = size(X);
if ndims(X)==3 & sizeX(3)==3 % RGB Image
first = double(X(:,:,1))/255;
second = double(X(:,:,2))/255;
third = double(X(:,:,3))/255;
elseif ndims(X)==2 % Grayscale Intensity image
first = double(X)/255;
end
else % Indexed Image
first = double(X)+1;
second = map;
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -