yüklediğim resimdeki siyah bölgenin merkez koordinatlarını bulan kod yazmak istiyoruz, nasıl yapabiliriz?
ya da merkez koordinatları olmasa bile bu konuda yardımcı olabilecek birilerini arıyoruz.



 

imread ile imaj okunur.
rgb2gray ile greyscale yapılır.
siyah olan noktalar 0, beyaz olanlar 255.
satırlarda en çok 0 olan satır bulunur, o satırdaki 0 ların ortasındaki index x noktasını, sütunlardaki karşılıgı da y noktasını verir

meteonur

[x,y]=(find(a==0))
cent=[(min(x)+max(x))/2 (min(y)+max(y))/2] ile bir nokta öbeğinin merkezi bulunabilir.

eğer resmin piksel değerlerini içeren bu "a" matrisi, rgb içeren bir matrisse
a (n,m,3) boyutundaysa yani
[x,y]=(find( a(:,:,1)==0 & a(:,:,2)==0 & a(:,:,3)==0 ))
denebilir. Böylece r,g ve b kanallarında 0 olan, yani siyah piksel koordinatları bulunabilir.
Daha sonra yine,
cent=[(min(x)+max(x))/2 (min(y)+max(y))/2]
ile merkezi bulunabilir.
Ama merkez küsuratlı çıkabilir bu formüle göre, o zaman round yapılabilir gerekiyorsa.

mesela
0 0 0 0 0 0
0 0 1 1 0 0
0 1 1 1 1 0
0 0 1 1 0 0
0 0 0 0 0 0

merkezi (3,3.5) elde edilecektir.

furciferpardalis
1

mobil görünümden çık