Calculating the Minimum and The Maximum of a Slidig Window

Hello,
How would you create the fastest implementation to extract the Minimum and the Maximum of a Local Sliding Window over an image?
So far I used this:
localMaxImage = colfilt(inputImage, [winLength winLength], 'sliding', @max);
localMinImage = colfilt(inputImage, [winLength winLength], 'sliding', @min);
Yet it is really slow. I know I can use `imerode` and `imdilate`, Yet I'm looking for a toolbox free implementation. Thank You.

2 Comments

Royi, you have asked 23 questions in this forum so far and not accepted a single one. Have you had bad luck with your answers? If not, seeing that might make contributors here less inclined to help you.
Well, I guess as you see, I don't remember getting the right answer. You may look at my profile in StackExchange, I accept more than 80% of answers.
Anyhow, When I try answering someone, I never look at that. We're not trying to get scored, we're trying to assist people and build well organized information source.

Sign in to comment.

 Accepted Answer

More Answers (1)

What do you mean toolbox-free? colfilt is also from the Image Processing Toolbox. Can you use ordfilt2
localMaxImage = ordfilt2(inputImage, winLength^2, true(winLength));
localMinImage = ordfilt2(inputImage, 1 , true(winLength));
This should be faster than colfilt, but maybe you can't use it.

Asked:

on 23 Apr 2014

Answered:

on 11 Sep 2014

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!