स्लाइडिंग खिड़की न्यूनतम/अधिकतम 2 डी में

Suppose we are given an integer matrix of pixels of size NxN and an integer k - window size. We need to find all local maximums (or minimums) in the matrix using the sliding window. It means that if a pixel has a minimum (maximum) value compared to all pixels in a window around it then it should be marked as minimum (maximum). There is a well-known sliding window minimum algorithm which finds local minimums in a vector, but not in a matrix http://home.tiac.net/~cri/2001/slidingmin.html

क्या आप एक एल्गोरिदम जानते हैं जो इस समस्या को हल कर सकता है?

0
जोड़ा
विचारों: 4

1 उत्तर

चूंकि न्यूनतम फ़िल्टर एक अलग करने योग्य फ़िल्टर है, इसलिए आप प्रत्येक आयाम के लिए न्यूनतम 1 डी स्लाइडिंग विंडो की गणना करके न्यूनतम 2 डी स्लाइडिंग विंडो की गणना कर सकते हैं। 4x4 मैट्रिक्स और 2x2 विंडो के लिए, एल्गोरिदम निम्नानुसार कार्य करता है:

मान लें कि शुरुआत में यह मैट्रिक्स है

3 4 2 1
1 5 4 6
3 6 7 2
3 2 5 4

सबसे पहले, आप मैट्रिक्स की प्रत्येक पंक्ति के लिए न्यूनतम 1 डी स्लाइडिंग विंडो की गणना करते हैं

3 2 1
1 4 4
3 6 2
2 2 4

फिर, आप पिछले परिणाम के प्रत्येक कॉलम के न्यूनतम 1 डी स्लाइडिंग विंडो की गणना करते हैं।

1 2 1
1 4 2
2 2 2

नतीजा उतना ही है जितना कि आप सीधे 2 डी विंडो की स्लाइडिंग विंडो की गणना करते हैं। इस तरह, आप किसी भी एनडी स्लाइडिंग विंडो को न्यूनतम समस्या हल करने के लिए 1 डी स्लाइडिंग विंडो न्यूनतम एल्गोरिदम का उपयोग कर सकते हैं।

0
जोड़ा
मनमाने ढंग से खिड़की के आकार के लिए यह काम जोड़ने योग्य है।
जोड़ा लेखक Samizdis, स्रोत