从Tommaso 的回答开始,我在 MATLAB 路径上创建了以下 M 文件:
function out = openics(filename)
img = readim(filename);
if nargout==1
out = img;
else
[~,varname] = fileparts(filename);
disp(['assigning into base: ',varname])
assignin('base',varname,img);
end
Run Code Online (Sandbox Code Playgroud)
将 ICS 文件拖放到 MATLAB 的命令窗口中会在命令行上显示以下内容:
>> uiopen('/Users/cris/newdip/examples/cermet.ics',1)
assigning into base: cermet
Run Code Online (Sandbox Code Playgroud)
查看:
>> whos cermet
Name Size Bytes Class Attributes
cermet 256x256 65714 dip_image
Run Code Online (Sandbox Code Playgroud)
阅读代码uiopen
(您只需键入edit uiopen
)会显示此调用open
使用文件名,然后调用openics
文件名且不使用输出参数。
您还可以输入
img = open('/Users/cris/newdip/examples/cermet.ics');
Run Code Online (Sandbox Code Playgroud)
调用openics
图像并将其加载到变量中img
。
注 1:我使用 ICS 因为我没有任何 TGA 图像可供测试。ICS 是一种显微镜图像文件格式。
注2:是DIPimagereadim
中的一个函数
注 3:这很酷,我以前从未尝试过将文件拖放到 MATLAB 上。:)