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/


