Hi,
I'm using the following code to convert .tif images to .jpeg
folder = 'D:\CAF\TR coke run Jan 21\';imageFiles = dir([folder '\Images\*.tif']);numImages = numel(imageFiles);Settings = xml2struct([folder '\settings.xml']); %Converting XML to structure then accessing the number of the samples from the Settings file
NumOfSamples = str2double(Settings.Children(20).Children.Data);destinationPath = mkdir([folder '\JPEG Images']);for i = 1 : 5 currentImage = fullfile(imageFiles(i).folder, imageFiles(i).name); img = imread(currentImage); imageName = erase(convertCharsToStrings(imageFiles(i).name),'.tif'); newName = strcat(folder, 'JPEG Images\', imageName, '.jpg'); imwrite(img, newName);end
but I get the following error message:
Error using writejpg (line 46)Data with 4 components not supported for JPEG files.Error in imwrite (line 546) feval(fmt_s.write, data, map, filename, paramPairs{:});
I know that img is a "1024x1280x4 uint8" variable. Hence, I've tried writing imwrite(img(:,:,i), newName) to get the programme to write them. This works for the first 4 images but stops at the 5th, expectedly.
Is there any way around this?
Thanks in advance
Best Answer