Home 
 Map 
 ⇑ 

 ⇍   January 29th, 2006   ⇏ 

Copyright 2006 Michael Anttila

This spring, Angela and I are going to perform the arduous task of repainting most of the rooms in my house. The first step in such a process is to choose colours. I always find it difficult to picture what the final result will look like just staring at a tiny colour chip, so I looked around for a program that would help me choose. I wanted a program that would let me use a photograph of my room as input and then replace the current wall colour with a colour of my choice. Unfortunately, I couldn't find a program that satisfied me. The solution was to write one myself. Thus "AnttilaSoft Home Painter Pro" was born. After a few weeks of periodic fiddling, I finally have an alpha version working.

The top picture is a photo I took of my bedroom (which will be the office once Angela moves in). The bottom picture is the output from Home Painter Pro after changing the walls to a neutral grey colour. (This isn't the colour we are going to paint the office, but I needed a quick demonstration for this week.)

Once I'm happy with the program I will post the executable and the source code online so that others can try it out, though even in the final version it will require some messing around in Photoshop to define where the walls are.

Comments

Interesting.  Why wouldn't Photoshop be adequate for this purpose?  It seems to
me the more dedicated application should map the walls to some rough geometry
and do some global illumination (even something as quick as generating a few
form factors and doing some quick radiosity).  That way a bright red wall in
your room would cast a red tint on the other walls and your furniture.	A huge
aspect of choosing paint color in a room is how all the wall colors will
interact with each other and the furniture in the room.  Oh that and you should
also have a feature to specify the illuminant, whether its a tungsten lamp or
day light, but this should be easy enough to do.  Neat project.
-- Aravind

Photoshop can certainly perform all the same functions that my program can
currently do, but it has a steep learning curve for someone like Angela who has
never used it (or any other graphics/paint program) before.

Yes, ideally I
would have rather used a raytracer to render a quick 3D mockup of my house, but
this solution seemed a little bit easier for me to do as a weekend project. 
The clear benefit of this is that I can get decent results with a minimal
amount of work.  I do need to make it smarter about colour temperature like you
mentioned.

If I ever write version 2.0, I would definitely like it to
automatically map the walls and allow you to specify light sources.
-- Michael

I should also mention that a program which can automatically map walls and do
global illumination has great money-making potential.  Home Depot has a similar
program in-store that doesn't let you use your own images, and a few paint
manufacturers offer really bad (worse than mine!) programs on the web to sell
their paints.	I'm sure they or their competitors would pay good money for
something that is easy to use and gives reasonably accurate results.

The nice
thing about the Home Depot in-store unit is that it has a special colour
scanner to let you scan your own paint chips, but it's pretty pointless if you
are just looking at a picture of a model home.	It would be nice to model your
own home under realistic lighting patterns.
-- Michael

Actually, I take it back.  The different illuminant thing wouldn't be easy to
do if you tried to do a thorough job.  It turns out that some (actually a lot
of) paints can have metameric properties (some of which are desirable).  So
what you want is a spectral reflectance profile for the paint (which you can
get with a half decent spectrophotometer) which you can then use against
different illuminants.	The paint in Kim's old living room had some interesting
properties.  It had a very different appearance when it was bright and sunny
outside vs. the evening.  She actually went out and got all little samples and
laid them out on the living room floor and monitored their appearance over a
few days.

Also you don't want to model you entire house and ray trace it, it
becomes difficult to visualize.  You want to do what you are doing, but just
apply some geometry to do the interreflection calculations.  I think you're on
to something here... hmmm... perhaps we should take this offline :)
-- Aravind

Oh yes, I totally forgot about that.  Thanks for reminding me!	I have to
remember to do the same thing with the paint chips that we choose.

And yes, we
don't want to give away anything patentable.  ;)
-- Michael

You guys are all in violation of all your NDA.	You will all be fined, fired,
arrested, and strip-searched for more stolen IP.
-- Russell

POTW - Photo Map - Home - Feedback

Hosted by theorem.ca