Bir tane mi yerel maksimum var, yoksa daha çok mu?
Açıklama: Elimizde bir M matrisi olsun. Örneğin 3×3'lük komşulukta (pencereler) ile matrisin elemanları üzerinde geziyoruz ve bu pencere içindeki en yüksek değerleri buluyoruz. O hücreye ait en yüksek tek değer mi vardır, yoksa daha çok mu?
Kaynak kod
% uniquenessOfLocalExtremum: Bir tane mi yerel maksimum var, yoksa daha çok % mu? % ANLATIM % Elimizde bir M matrisi olsun. Örneğin 3x3'lük komşulukta (pencereler) ile % matrisin elemanları üzerinde geziyoruz ve bu pencere içindeki en yüksek % değerleri buluyoruz. O hücreye ait en yüksek tek değer mi vardır, yoksa % daha çok mu? % Önce bir matrisimiz olmalı (bu gri bir resim de olabilirdi) M = [7 24 1 8 15 23 5 7 14 16 4 6 13 22 22 10 12 19 21 3 11 18 25 2 9]; % Aklımızda bulunsun: imdilate ile 3x3'lük 1 matrisi kullanımı o % komşuluktaki en yüksek değeri verir, ama biz başka bir yöntem kullanalım. highest = imdilate(M, ones(3,3)); % En yüksekten bir tane mi var? sorusuna cevap verebilmek için en % yüksekleri ve en yüksek ikincileri bulup karşılaştırmak yeterli % olacaktır. % ordfilt2 2 boyutta istatistiksel sıralama yapar % kullanım: ordfilt2(matris,kaçıncısı,bakılacak alan) highest = ordfilt2(M, 9, ones(3,3)); secondHighest = ordfilt2(M, 8, ones(3,3)); nonUniqueMaximaMask = (highest == secondHighest); % Not: Buna benzer olarak minimumlar için olanı da yapılabilirdi. % ordfilt2'in ikinci parametreleri 1 ve 2 olacaktı. % Kaynak: % http://blogs.mathworks.com/steve/2006/04/10/quick-tip-determining-uniquen % ess-of-neighborhood-maximum/