Take the 2-minute tour ×
Graphic Design Stack Exchange is a question and answer site for professional graphic designers and non-designers trying to do their own graphic design. It's 100% free, no registration required.

I have got hundreds images of products with clear white backgrounds. I would like to change the white background color to become transparent.

Is there a means of batch processing this particular process with Photoshop or any other applications?

share|improve this question
2  
I wrote a rather detailed answer to a similar question before, so let me just point you to it here. That particular answer was for the GIMP, but I'm pretty sure the basic technique should work in Photoshop too. If not, just download and install GIMP -- it's free! :) –  Ilmari Karonen Jun 22 '12 at 18:39
    
Here is a simple technique to to create a transparent background without any tracing. Doesn't include the action/script, but you could easily record it. –  John Jan 2 at 18:56
add comment

migrated from stackoverflow.com Jun 22 '12 at 2:09

This question came from our site for professional and enthusiast programmers.

5 Answers

You can achieve it by creating an Action that then can be used in a batch operation.

The following is a summarized step by step description on how to achieve it in case you already know your way around Photoshop. See further down for detailed description on how to do it:

  1. Open a representable image for recording an action
  2. Create an action and start recording
  3. Flatten the image, make transparency by using magic wand on pixel 0,0, invert the selection and add mask.
  4. Stop recording
  5. Close the image, without saving any changes
  6. Use File->Scripts->'Image Processor' to run the new action on all files, and export them as TIFF. Do not use JPEG as it does not have an alpha channel.
  7. Done!

Detailed step by step:

1. Open a representable image

  1. Go to File->Open, pick one of your images that is representable for the other images, and open it..
  2. Create a new empty layer (used for later to enable 'Flatten image' option)

2. Create action and record

  1. Locate the Actions panel, ensure that it's visible by making sure Window->Actions is checked.
  2. Click the Create new action button (see image below)
  3. Let's call it 'Transparency Action' for the sake of ease.
  4. Click the Record button to start recording

Create new action button

3. Apply image transparency

  1. In the menu, go to Layer->'Flatten Image'.
  2. Right click the (only) layer and select Convert to Smart Object
  3. Zoom in on the upper left pixel so you easily can click it with the Magic Wand
  4. Activate the Magic Wand Tool
  5. At the top of the screen, under the menus, set the desired Tolerance (If unsure set to 0)
  6. Click on the upper left pixel with it
  7. Press Select->Inverse
  8. Add a layer mask by pressing the Add layer mask in the Layer panel. (See image below)

enter image description here

4. Stop recording

Press the Stop recording button in the Actions panel. The action is now made.

5. Close the image

You can close the image and you do not need to save the changes.

6. Batch process

  1. Goto File->Scripts->'Image Processor'
  2. Select the source and destination folder. Check the Include sub folders and Keep folder structure if that is something you want.
  3. Make sure only the Save as TIFF is checked, JPEG cannot be used as it does not have an alpha channel.
  4. Check the Run Action and pick your 'Transparency Action'
  5. Click Run and go take a coffee..

7. Done!

That's about it. Hope everything makes sense and that the solution fits your problem, although your question were posed a long time ago...

share|improve this answer
add comment

Just found this for you:

http://www.howtogeek.com/59634/remove-backgrounds-automatically-with-a-free-photoshop-action/

I guess it would work if your client doesn't need perfect masks for them (which would be okay for a webpage, since everything is small anyway)

But professionally speaking, I would mask them out one by one, just so nothing goes wrong. Anything you do automatic on photoshop is bound to go wrong when you least expect it.

share|improve this answer
    
I just tried this action and it worked great fyi –  Yarin Apr 1 '13 at 3:49
add comment

There is no automatic way to do this.

share|improve this answer
add comment

The way that I do it is described here: it involves inverting the layer. It works well for the majority of situations but if you have lots of non-solid edge elements it can be a bit fussy.

share|improve this answer
add comment

Unfortunately there is no easy quick-fix for this

My typical method of choice is; Go to the channels panel, toggle through the Red Green and Blue options to see which has the most contrast, duplicate this layer and then ctrl/cmd+l the levels slider to increase this. Then using the brush on this layer colour in black what you want and white what you don't. You can then click on this channel for a selection path (ensure you re-click the rgb and uncheck your duplicate channel) and use a layer mask to perform a non-destructive deletion of the area you want to isolate (reverse the selection ctrl/cms + shift + I if necessary).

This site explains it with images too.

http://graphicssoft.about.com/od/photoshop/l/blrbps_2fwks.htm

There are of course some uglier methods such as the wand too... Depending on the final size of the images, this may be ok. However, for a really high quality cut-out there is no substitute for time.

share|improve this answer
    
I'm glad I'm not the only one still doing this. Old school PS channel techniques FTW. It's worth noting that if the images were all similar, you could probably do a half decent job using an Action to batch them all. –  Marc Edwards Jun 22 '12 at 3:28
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.