Matlab ile şekil 1.1’de bulunan şekillerin tüm özelliklerini çıkartarak özelliklerine göre merkezlerine hangi şeklin olduğunu yazalım.

resim=imread(‘resim.jpg’);%%resmi yükle
resimgrey=rgb2gray(resim);%%resmi gri yap
resimmask=im2bw(resimgrey,0.75);%% resmi maskeliyoruz
resimmask2=~resimmask;%% siyahı beyaz beyazı siyah yapıyoruz
imshow(resim);figure;imshow(resimmask2);
[im say]=bwlabel(resimmask2); %%resimdeki sayı şekilleri ve sayısı
hold on
for i=1:say %%1’den resimdeki şekil sayısına kadar yazdır.
ozellikler=regionprops(im,’all’);%% resimdeki ayırt edici özellikleri bulmak için özellikler komutuna giriyoruz.
x=ozellikler(i).Centroid(1,1)%% yazı yazacağımız kısmı şekillerin ağırlık merkezine göre ayarlıyoruz
y=ozellikler(i).Centroid(1,2)%% yazı yazacağımız kısmı şekillerin ağırlık merkezine göre ayarlıyoruz
if(ozellikler(i).BoundingBox(3)==ozellikler(i).BoundingBox(4)) %%eğer boundingbox da 3.ve 4. satır eşit ise
if ozellikler(i).Extent==1 %%derecesi 1 ise
text(x,y,’kare’) %%ekrana şeklin üstüne kare
end
end
if(ozellikler(i).Extent==1)&&(ozellikler(i).BoundingBox(3)~=ozellikler(i).BoundingBox(4))%%dereceleri 1 e eşit
%%ve 3.ve 4. satırlar eşit değilse
if ozellikler(i).Extent==1%%boyutu 1 olana
text(x,y,’dikdörtgen’)%% ekrana şeklin üstüne dikdörtgen yazdır
end
end
if(ozellikler(i).Extent~=1)&&(ozellikler(i).BoundingBox(3)~=ozellikler(i).BoundingBox(4))
if(ozellikler(i).Eccentricity<0.9)%%dış merkezliliği 0.9 dan küçük ise
text(x,y,’yamuk’)%%ekrana şeklin üstüne yamuk yazdır
end
end
end

