The advantage of this implementation in comparison to imfilter from Image Processing Toolbox is that the processing time is independent of window size. In practise it means that this implementation of mean filter is faster than imfilter whenever once windows size goes beyond 7 pixels.
thank you for your feedback. The biggest gain from the vectorised version is in calculation of the integral image - cumsum accelerated the whole function by 5%. And that is good.
Although I like FOR loops, here a vectorized approach would be much more efficient, e.g.:
output = (t(1+m:rows+m, 1+n:columns+n) + t(1:rows, 1:columns) -
t(1+m:rows+m, 1:columns) - t(1:rows, 1+n:columns+n)) / winNum;
The documentation is very good: H1 line, exhaustive descritpion of inputs and outputs, "See also" line. I only miss a date and the author.
The inputs are check reliably.
Allowed reuse of the integral image.
Added support for even sized kernels.
Improved the help text. (Thanks Jan!)
Added padding parameters.
Fixed copyright owner.