Calculating the Minimum and The Maximum of a Slidig Window

1 view (last 30 days)
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
José-Luis
José-Luis on 8 Sep 2014
Edited: Image Analyst on 11 Sep 2014
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.
Royi Avital
Royi Avital on 8 Sep 2014
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

Matt J
Matt J on 11 Sep 2014
I've never used it, but this FEX contribution is MEX-driven, and so should be fast

More Answers (1)

Anand
Anand on 11 Sep 2014
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.

Community Treasure Hunt

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

Start Hunting!