Is it possible to use imwrite function with standalone gui?
Show older comments
I have created a GUI which writes the result as an image in a directory using imwrite. My program is working good in Matlab compiler. Further, I have created a standalone application using Application compiler of Matlab for that GUI. BUt the standalone GUI is not responding whenever I am using the imwrite function with the given directory.
8 Comments
Geoff Hayes
on 26 Aug 2018
Hossain - what is your code that is being used to call imwrite? Are you specifying the full path to the folder to write the file to?
Hossain Md Shakhawat
on 27 Aug 2018
Edited: Walter Roberson
on 27 Aug 2018
Image Analyst
on 27 Aug 2018
You need to specify the whole full path, not a relative path. It will create that in some folder that you do not expect, NOT in a subfolder of where your executable is (unless you set the MCR_CACHE environment variable to be dot, but that's a long story).
Hossain Md Shakhawat
on 27 Aug 2018
Walter Roberson
on 27 Aug 2018
If you want to write underneath where the executable expands, use ctfroot() as the top level directory, like
outdir = fullfile(ctfroot(), 'Output');
if ~exist(outdir, 'dir');
if ~mkdir(outdir)
error('Failed creating output directory "%s"', outdir);
end
end
...
imwrite(fr.cdata, fullfile(outdir, 'result.tif'));
Note that it is common for the executable to expand under a temporary directory, and so it is possible that some cleanup routine might prune out the stored information. You should typically be okay for any one run, but do not count on retaining files there between runs.
If you need to retain files between runs, then you should be choosing a different output location.
Hossain Md Shakhawat
on 27 Aug 2018
Edited: Hossain Md Shakhawat
on 27 Aug 2018
Hossain Md Shakhawat
on 9 Sep 2018
Answers (0)
Categories
Find more on MATLAB Compiler in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!