Now this is not what you might think at first, so please read the question clearly.
I have an image of an object, for example see this image:
As you see it has a white background, and the main object image. What I would like to do is create a png in which the area covered by the image is transparent, preserving image shadows (while the white remains white). By shadow I mean the shadows over the image (not outside), so the result is an image with white background, and the object in full transparency in between and its shadows.
The idea here is that the resulting image is ready to be given any color I want, by creating a layer behind the transparent object layer and giving it any color. In my given example image, I should be able to make the purple sofa work with any color of my choice.
[EDIT] Please note that as final output I need the transparent image with the object shadows and curves (e.g. a png). I do not want to add color to it through photoshop, but use that image as a transparent png over other colors to give it the desired effect.
In Photoshop, go to Select > Color Range. Pick the purple color, and set the fuzziness around 100-120. Click Ok. Then invert the selection and create a layer mask: the purple color is gone. If the mask looks pixelated (mine did), go to Select > Refine mask and smooth it a bit.
Now click on the sofa and desaturate the layer to make sure the shadow is black and no purple pixels were left after the Color Range selection.
After that, you can add layers under the sofa and give it any color.
Note that the Color Range works well here because your sofa is purple; if there was a special pattern on it, selecting the colours would be much more complicated. You can always add colors to the Color Range selection by clicking on the Eyedropper+ icon.
[EDIT]: Added image
Source : Link , Question Author : Samnan , Answer Author : Fannie