CGTalk > Technical > Graphics Programming
Login register
Thread Closed share thread « Previous Thread | Next Thread »  
 
Thread Tools Search this Thread Display Modes
Old 11-16-2009, 04:00 PM   #1
tmr232
Frequenter
 
tmr232's Avatar
portfolio
Tamir Bahar
student
Maor, Israel
 
Join Date: May 2005
Posts: 251
Send a message via MSN to tmr232
Question Remove specularity from multiple textures

Hi,

I want to be able to automatically remove the specularities and other types of annoying data from photographs in order to use them as textures. I have multiple photos of the same object, from different directions, and I need to get textures from it.

I remember seeing some papers about this kinda stuff a while ago, but I can't seem to find it.

Any help?

tmr232.
__________________
Ha ha!
Programming again.
 
Old 11-16-2009, 05:47 PM   #2
rendermaniac
.
Simon Bunker
Shader Writer / TD
Australia
 
Join Date: Jan 2003
Posts: 1,040
Do you know your light positions? If so you can use inverse rendering. This is where you recreate the scene digitally, match the material, and then take it away from the photo. I don't know any easy or automated way of doing this.

A better way is to take the photos using a polarising filter on the light source, cross polarised with a filter on the camera lens. This is a very good way to supress reflections.

Simon
__________________
http://www.rendermania.com/
 
Old 11-16-2009, 08:16 PM   #3
tmr232
Frequenter
 
tmr232's Avatar
portfolio
Tamir Bahar
student
Maor, Israel
 
Join Date: May 2005
Posts: 251
Send a message via MSN to tmr232
Thanks, but the thing is that I need this to work automatically on naturally taken images. So I can't build the scene, and I can't polarize the light.

Tamir.
__________________
Ha ha!
Programming again.
 
Old 11-17-2009, 10:00 AM   #4
martinB
TD
 
martinB's Avatar
portfolio
Martin Breidt
Tuebingen, Germany
 
Join Date: Aug 2007
Posts: 255
Quote:
Originally Posted by tmr232
I want to be able to automatically remove the specularities and other types of annoying data from photographs in order to use them as textures. I have multiple photos of the same object, from different directions, and I need to get textures from it.


Sounds like a difficult problem if you want a general solution.

I guess this strongly depends on what kind of object you're taking photographs off?
Do you know the precise light direction for each picture? How many pictures do you have?
Can you post an example picture set?

Never tried this, but maybe you could just take something like the mean of all pictures, assuming the speculars are relative small and keep changing with each picture?

Also, assuming that the only pure white in your picture is caused by specular highlights, and knowing the light direction, you could use that to estimate the surface normals, which then could be used to build a 3D surface model, which then could be used to do inverse lighting, assuming some known BRDF?

Maybe this is a point to start: http://en.wikipedia.org/wiki/Photometric_Stereo

-- MartinB
 
Old 11-17-2009, 12:33 PM   #5
tmr232
Frequenter
 
tmr232's Avatar
portfolio
Tamir Bahar
student
Maor, Israel
 
Join Date: May 2005
Posts: 251
Send a message via MSN to tmr232
Sorry for not mentioning it, but I can get accurate camera movement between each two frames. The thing is - I don't know anything at all about the light sources.

Assuming I don't know the anything about the light sources, but can get accurate camera movement and perhaps even a 3d model which roughly represents the object, any ideas?

Thanks a lot again.

Tamir.
__________________
Ha ha!
Programming again.
 
Old 11-18-2009, 10:51 PM   #6
martinB
TD
 
martinB's Avatar
portfolio
Martin Breidt
Tuebingen, Germany
 
Join Date: Aug 2007
Posts: 255
Quote:
Originally Posted by tmr232
Assuming I don't know the anything about the light sources, but can get accurate camera movement and perhaps even a 3d model which roughly represents the object, any ideas?


Maybe you could estimate the light source (one or more?) direction, using the surface orientation of the 3D model and the highlights available in the images? Without seeing a typical image, it is very hard to suggest a strategy.

Have you considered to simply detect the highlights, and then fill them in (http://en.wikipedia.org/wiki/Inpainting)?

-- MartinB
 
Old 11-18-2009, 11:42 PM   #7
Ian Jones
Design & Technology
 
Ian Jones's Avatar
Ian Jones
Multimedia Technologist
Brisbane, Australia
 
Join Date: Aug 2002
Posts: 2,219
On a basic level a filter such as high-pass will help you remove the broad low-frequency lighting shifts... isolating the detail (high frequency). It is likely that you'll have to interpolate as suggested for areas of high specularity. It sounds like a very complicated problem, is it absolutely beyond your means to get a better source of textures?
__________________
Practice safe design, always use a concept.
 
Old 11-18-2009, 11:42 PM   #8
CGTalk Moderation
Lord of the posts
CGTalk Forum Leader
 
Join Date: Sep 2003
Posts: 1,066,481
Thread automatically closed

This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.
__________________
CGTalk Policy/Legalities
Note that as CGTalk Members, you agree to the terms and conditions of using this website.
 
Thread Closed share thread


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
CGSociety
Society of Digital Artists
www.cgsociety.org

Powered by vBulletin
Copyright 2000 - 2006,
Jelsoft Enterprises Ltd.
Minimize Ads
Forum Jump
Miscellaneous

All times are GMT. The time now is 09:54 PM.


Powered by vBulletin
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.