Could someone help me with the "imwrite" command please ? Error using imwrite>parse_inputs (line 541) The colormap should have three columns.

ImageData = imread(Result{1}(i).raw_list.z);
imwrite(ImageData , strcat("C:\Users\toto\Documents\SP4\Camera_Images\", num2str(i), '.png'), 'png');

 Accepted Answer

The error message is misleading. The problem is that, surprisingly, imwrite does not yet support string arrays for the filename.
Change your double quotes to single quotes and all should be well
imwrite(ImageData , strcat('C:\Users\toto\Documents\SP4\Camera_Images\', num2str(i), '.png'), 'png');
Or rather than using strcat + num2str, use sprintf:
imwrite(ImageData , sprintf('C:\Users\toto\Documents\SP4\Camera_Images\%d.png', i), 'png');

2 Comments

Great!! I was going mad with this error. Thank you for saving me quite some time of headbanging on the desk.
Note that support for strings in imwrite was implemented in R2018b, so if you're using a recent version of matlab, this answer is no longer relevant.

Sign in to comment.

More Answers (0)

Categories

Find more on Convert Image Type in Help Center and File Exchange

Asked:

on 20 Jul 2018

Commented:

on 19 Sep 2019

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!