MATLAB: How to convert image .mat back to the mlreportgen.dom.Image object

imageMATLABmlreportgen.domuint8

In report generator, an Image object can be inserted in the report in this way:
mlreportgen.dom.*
rpt = Document('my_report','pdf');
img = Image('my_image.jpg');
img.Style = {Width('5in'),HAlign('center')};
append(rpt, img);
Now, the image is already read into .mat data with:
read_img = imread('my_image.jpg'); % now, read_img is in 640x480x3 uint8 format
How to create an Image object as above but from this later read_img data?
img = Image(anyway_some_function(read_img));

Best Answer

You'll need to write the image back to disk as the report generator needs to deserialize it from this format into the report. If the image is in a figure, you can use print, exportgraphics or use my FigureDeployer class which wraps around it and makes it easy.
Alternatively, you could use the Figure command with the mlreportgen.report.* api but this would require changing other things about your reporter structure.