Actually, it doesn’t quite make sense. I just did a run where I cropped the images. In one case, there are 148 objects and the mat file is 2,439 kb. When that mat file is loaded in matlab, the data type of the variable Image is int16, which is good.
In the other case, there are 42 objects (i.e. fewer than before) and the mat file is 9,753 kb. When this mat file is loaded in matlab, the data type of the variable Image is double (which explains why the mat file size it is now 4X larger).
In the original uncropped images, where I have many more objects (more than 256), sometimes the mat file is 1X size and datatype int16 and sometimes the mat file is 4X size and datatype double.
My concern is that the datatype of the Image variable saved in the mat file should never be double, since the object labels are always integers. It should either be int16 or int8.
I also see this problem whether I first use ConvertObjectsToImage or use SaveImages directly, as you suggested.
It is not a major problem, but it is a little strange and I end up (in my original uncropped images) with unnecessarily large (150 MB) mat files.
I hesitate to upload 10MB mat files… should I?