No, apply_matrix has a few deficiencies:
1) There is no way to make the red channel of the input affect the green channel of the input.
2) There is no way to supply a different divisor for each channel, which makes operations that has a different gamma for each channel impossible.
Because of these two things, the convol() function has to separate the channels and do 9 different calls to apply_matrix to achive the operation I want. One for each combination of {R,G,B} -> {R,G,B}.
Probably the best way to implement the functionality I want is to extend apply_matrix so that it can:
a) Accept floats as well as integers b) Accept a 3x3 matrices as wel as 3x1
Disclaimer: It's possible that some of this already works, but is undocumented... :)
/ Fredrik (Naranek) Hubinette (T minus 2 weeks)
Previous text:
2004-08-26 18:05: Subject: nice-to-have-function
I thought that was what apply_matrix did, but with a common factor (or divisor?) for the result.
/ Mirar