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
_______________________________________________
Magick-users mailing list
[email protected]
http://studio.imagemagick.org/mailman/listinfo/magick-users

Reply via email to