MATLAB Answers

0

Using Matlab Image Labeler app to work with other image formats (NITF)

Aswathnarayan Radhakrishnan さんによって質問されました 2019 年 8 月 12 日
最新アクティビティ Kojiro Saito
さんによって 回答されました 2019 年 8 月 13 日
I need to label a dataset containing imagery in NITF format. Is there a way to directly load the NITF files for labeling instead of converting all of them to PNGs before labeling? Matlab has a function to read NITF image files into arrays. Is there any kind of custom scripting available that can be added to the Image Labeler tool to automatically preprocess and convert the NITF image to a format that can be loaded by the image labeler tool?

  0 件のコメント

サインイン to comment.

1 件の回答

Kojiro Saito
Answer by Kojiro Saito on 13 Aug 2019

As this document says,
The Image Labeler app supports all image file formats supported by imread. To add additional file formats to imread, use imformats.
In order to let Image Labeler load NITF formats without converting file formats, we can use imformats.
Here is a sample code of .ntf format.
%% Add NITF(.ntf) to
formatStruct = struct('ext', 'ntf', 'isa',@isnitf,...
'info',@nitfinfo,'read',@customreader, 'write','',...
'alpha',0,'description','NITF formats for imread');
registry = imformats('add', formatStruct);
%% Then, you can launch imageLabeler by specifying image datastore
imds = imageDatastore('nitfData', 'FileExtensions', '.ntf', 'ReadFcn',@customreader);
%imshow(preview(imds))
imageLabeler(imds)
%% Or, by specifying a folder which contains .ntf files
imageLabeler('nitfDataFolder')
Here is reader function which was used in imformats and imageDatastore.
customreader.m
function [data, map] = customreader(filename)
data = nitfread(filename);
map = [];
end

  0 件のコメント

サインイン to comment.



Translated by