How to automate the following set of commands?

1 view (last 30 days)
Hey all! I'm fairly new to MATLAB and I'm working on a small project where I have to convert a database of images into a downsampled dataset of fixed resolution and other image properties. So for the following purpose, I am currently using the following commands in sequence for one image.
rec = db.info('filename');
img = freeviewing.analysis.getImg(rec,56.9781,32.0502,screen);
imwrite(img, 'example.png')
So before setting up the commands, I'm calling a image wrapper set up previously, which loads the downloaded image with the appropriate parameters through this command
>> db = imgdb.geisler('Directorypath');
Is there a way to automate the first three commands for every image file and save it as separate files? An example code which I can use would be much appreciated! Thanks!

Accepted Answer

Image Analyst
Image Analyst on 15 Mar 2021
Sure. Just write a function. This link will probably show you how to do that:
maybe something like
function img = MyCustomFunction(db, fullFileName)
rec = db.info('filename');
img = freeviewing.analysis.getImg(rec,56.9781,32.0502,screen);
imwrite(img, fullFileName); % Save it to disk with the specified file name.
  4 Comments
Kevin Akash Rajasekaran
Kevin Akash Rajasekaran on 17 Mar 2021
That's cool! Do you have an example code I can refer to for looping?

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!