Calculating the Minimum and The Maximum of a Slidig Window

2 visualizzazioni (ultimi 30 giorni)
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 Commenti
José-Luis
José-Luis il 8 Set 2014
Modificato: Image Analyst il 11 Set 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 il 8 Set 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.

Accedi per commentare.

Risposta accettata

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

Più risposte (1)

Anand
Anand il 11 Set 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!

Translated by