1

I am trying to process hundreds of images in the same way and export them automatically one by one. Right now, I only have the image processing code for one image, and I want to learn what is the most efficient way to repeat the procedure for the rest of the hundreds of images.

My code for one image is:

Export["C:\\Users\\ProcessedImage1.tiff",ColorNegate[ImageFilter[Max,ColorSeparate[ImageApply[{Sin[Pi#*4],Sin[Pi#],Sin[Pi#*3]}&,Import["C:\\Users\\Image1.tiff"]],"L"],1]]//Colorize] 

Right now, I can import several the images (very large file size) to a Table and export them one by one again using Table. However, it is very slow. How do I import one image, process it, export it then delete it from Mathematica's memory and move on to the next image? I am thinking For loop, Table, or Map, but I am not familiar with the language yet. In other words, how do I import "ImageX.tiff", where X is the number in my file name, then process it and export to "ProcessedImageX.tiff"?

Alexey Popkov
  • 61,809
  • 7
  • 149
  • 368
Chelsea
  • 11
  • 1
  • Have you read the documentation on Table and TemplateApply? In particular I think you'll want to use Table[expr,{i,number_of_images}] and TemplateApply["C:\\...Image``",i] inside expr. – b3m2a1 Mar 17 '17 at 04:23
  • Have you tried ImageFileApply and ImageFileFilter? – Alexey Popkov Mar 17 '17 at 07:03
  • Also, Parallelize can be helpful here. – Alexey Popkov Mar 17 '17 at 07:07
  • I usually use some variant of Monitor[Do[processImage[file], {file, FileNames[folder]}], file]. Where processImage is the function that does the actual processing. The Monitor is just so I can see some progress – Niki Estner Mar 17 '17 at 07:45
  • Hi nikie, when I use Monitor[Do[processImage[file], {file, FileNames[folder]}], file], according to your suggestion, the error message is "C:.." not an array or an image. So instead of using FileNames[folder], I tried using Import[folder] to import my images. However, my processImage function does not work even though I got the images to show.. I just want to use a simple StandardDeviationFilter to filter all the images in this folder. Any other suggestions? Thank you! – Chelsea Mar 23 '17 at 21:59
  • Actually I found how to do it in this link: http://mathematica.stackexchange.com/questions/97516/multiple-import-and-export-of-images?rq=1 – Chelsea Mar 24 '17 at 01:32

0 Answers0