Automatic Iterative Varible Naming
Show older comments
I am working with a lot of images and my workflow has been designed to load up single images, manipulate the image, and write the image back out to a .jpg file. Unfortunatly I recently realised that .jpg is not a loss-less format and I am currently trying to write my image files to .mat variables.
The image write command was useful since I could append text to the file names. Example: load image1.jpg, cropp image1, save as croppedimage1.jpg.
I would like to restore this functionality to my code usings variable names. It may look something like this....
A = [ 1 2 3 4 5 6 7 8 9 10];
for i = 1:10
B = A(i);
C = B*2;
save (i)C % where the variable name would be 1C.mat, 2C.mat etc.
end
I am not sure if this even the right approach.
Thanks for any suggestions.
Accepted Answer
More Answers (1)
Walter Roberson
on 28 Oct 2011
0 votes
.jpg is a lossless format if you specify 'Mode', 'lossless' when you do the imwrite(). However, the JPEG lossless format is not as efficient as some of the other lossless formats around.
2 Comments
Aaron
on 28 Oct 2011
Image Analyst
on 28 Oct 2011
Possibly but no other program, such as Photoshop, or even the operating system to produce thumbnail images, will be able to read them. I'd save them as PNG if I were you - that seems to be becoming the most widespread format for lossless images. It's what I use. You might have to cast the arrays to uint8 of or uint16 if you use don't use a .mat format though.
Categories
Find more on Convert Image Type in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!