[magick-users] can I rebalance color of image for projection on a colored wall?
David Early
dearly at us.ibm.com
Tue Jun 2 22:46:47 PDT 2009
Hi all....I am a bit of newbie but I have tried to do my homework on this
one before asking and I just can't seem to get it right.
Some of the newer projectors can compensate for projection on a colored
wall. I have a series of images I need to show on a medium dark wall with
a green cast to it and the projector does not have this feature. I had
thought I could figure out how to edit the image to enhance the right
colors and get a fair balance of color (I don't expect it to be perfect,
just better than it is right now).
I looked at using "convert -recolor" and an appropriate matrix. My
thought was to take a color sample of the wall and get the RGB value for
the color. In this case it looks like 114 - 119 - 90. So, I figured I
just needed to increase the R and B channels proportionally to the G
channel and I should get something that looks OK....but I don't. There is
still a significant cast to the picture and some very wrong colors (e.g.
violet appearing redish-orange).
My model was kind of simple. I figure the wall represented surface of a
particular color. If I shine a light on a solid red wall, for example, I
would only get red back. Assuming that the wall was perfectly red from an
RGB standpoint, it would reflect red perfectly (I will use (1,1,1) to
represent (255,255,255) in an RGB format).
(1,0,0) -> incident light
|
| (1,0,0) -> reflected light
| /
-----------------------------
(1,0,0) -> wall color
If I now shine a perfectly green light on the wall, it should appear
black:
(0,1,0) -> incident light
|
| (0,0,0) -> reflected light
| /
-----------------------------
(1,0,0) -> wall color
So now shine a white light against a greyish wall with a slightly dominant
green and it will reflect the same color:
(1,1,1) -> incident light
|
| (0.3,0.4,0.35) -> reflected light
| /
-----------------------------
(0.3,0.4,0.35) -> wall color
My thought was if I enhance the incoming color slightly to compensate for
the different level of the various colors. I expect the picture to be
darker because I can't really completely overcome the grey in the wall,
but I would hope to get reflected light that was grey not with a green
cast to it....the problem is I can't seem to figure out how to
proportionally adjust the color levels in the incoming light to compensate
adequately for the wall color.
For the example above, I pick green as the reference and adjust the other
two colors to match it....this gives me a matrix like this:
1.3333 0 0
0 1 0
0 0 1.1428
This in theory should give me a reflected light (0.4,0.4,0.4) if my simple
model is correct. I can't test this until Thursday unfortunately so I am
not 100% sure I am doing this correctly. My concern is that I am not
accounting for a non-linear scaling that would be necessary to make this
work right.
Does anyone know how I could convert images for projecting onto a colored
wall? It has now become somewhat of a crusade for me to figure this
out....
Dave
More information about the Magick-users
mailing list