MATLAB Answers

1

How to show an image using the stored vector (matrix) as a variable in the report generator

Asked by Yasser Soltanpour on 23 Apr 2019
Latest activity Commented on by Sean de Wolski
on 29 Apr 2019
Hello,
I'd like to show an image or picture using the image vactor (matrix) in a report. Lets assume that the image is already read by imread(picname) and stored in a variable. Now, having the variable, how can I display the sotred image? The code is similar to the following:
file1.m :
picname='picname.jpg';
myimage=imread(picname);
save('myimagefile','myimage');
Later on, I load the variable from file2.m which generates the report.
file2.m :
import mlreportgen.dom.*;
import mlreportgen.report.*;
load('myimagefile');
rep=Report('Myreport','pdf');
open(rep);
I know if I use Image() function deosn't work, because it reads the associated address to the variable, not the content of the varialbe.
The wrong code is:
imagetoshow=Image(myimage); %I know "myimage" should be an adderss not a variable
add(rep,imagetoshow);
close(rep);
Any help is appreciated.
Yasser

  2 Comments

KSSV,
Thanks for your reply. However, it didn't work with add(rep,imagetoshow). Would you please provide me a code that I could use?
Thanks for your help.
Yasser

Sign in to comment.

Products


Release

R2017b

1 Answer

Answer by Sean de Wolski
on 24 Apr 2019
Edited by Sean de Wolski
on 24 Apr 2019
 Accepted Answer

You could use:
imshow(loadedimage)
add(R, Figure())
In general I'd stick with Image even if though requires imwriting your image back to disk (perhaps to tempname from where it can be deleted)

  2 Comments

Thanks Sean de Wolski,
The code you provided didn't produce a report, but only a plot. I really hoped that there was other way to embed an image in the reprot from a variable.
Thanks,
Yasser
Hi Yasser,
I replied without a MATLAB around. You need to snapshot the image from the Figure and set its properties. See example here:

Sign in to comment.