MATLAB ile Cinsiyet Belirleme


Merhaba arkadaşlar bu yazımda MATLAB kullanarak görüntü işleme tekniğiyle cinsiyet belirleme uygulamasını göstereceğim.

Kısaca algoritmadan bahsedecek olursak; Öncelikle resimden yüz bulma, ağız belirleme, burun belirleme, göz belirleme işlemlerini yaptıktan sonra piksel sayma işlemleri yapılır ve cinsiyet sınama için bu piksellerin birbirine oranı kıyaslanarak sonuca gidilir.

clc
close all

FDetect = vision.CascadeObjectDetector;
resim1 = imread('image.jpg');

%boyut ayarlanıyor
resim=imresize(resim1, [240 320]);

% yüz belirleniyor
BB = step(FDetect,resim);
figure,
subplot(4,4,1);
imshow(resim); hold on
for i = 1:size(BB,1)
rectangle('Position',BB(i,:),'LineWidth',1,'LineStyle','-','EdgeColor','r');
end
title('yüz belirlendi');
hold off;

% yüz kırpılıyor
yuz=imcrop(resim,BB);
subplot(4,4,2);
imshow(yuz);
title('yüz kırpıldı');

%yüze gaus filtreleme ile canny yapılıyor
yuz_gri=rgb2gray(yuz);
h = fspecial('gaussian',[3 3], 0.5);
yuz_filtre = filter2(h,yuz_gri)/255;
yuz_canny = edge(yuz_filtre(:,:,1),'canny');
subplot(4,4,3);
imshow(yuz_canny);
title('canny yüz');

% ağız belirleniyor
MouthDetect = vision.CascadeObjectDetector('Mouth','MergeThreshold',130);
BBb=step(MouthDetect,yuz);
subplot(4,4,4);
imshow(yuz);
title('ağız belirleme');
hold on
for i = 1:size(BBb,1)
rectangle('Position',BBb(i,:),'LineWidth',1,'LineStyle','-','EdgeColor','r');
end
hold off;

% ağız kırpılıyor
agiz=imcrop(yuz,BBb); %AĞIZ
subplot(4,4,5);
imshow(agiz);
title('ağız kırpıldı');

%ağıza gaus filtreleme ile canny yapılıyor
agiz_gri=rgb2gray(agiz);
h = fspecial('gaussian',[3 3], 0.5);
agiz_filtre = filter2(h,agiz_gri)/255;
agiz_canny = edge(agiz_filtre(:,:,1),'canny');
subplot(4,4,6);
imshow(agiz_canny);
title('canny ağız');

% göz belirleniyor
EyeDetect = vision.CascadeObjectDetector('EyePairBig');
BBa=step(EyeDetect,yuz);
subplot(4,4,7);
imshow(yuz);
title('göz belirlendi');
rectangle('Position',BBa,'LineWidth',1,'LineStyle','-','EdgeColor','b');

% göz kırpılıyor
goz=imcrop(yuz,BBa);
subplot(4,4,8);
imshow(goz);
title('göz kırpıldı');

%göze gaus filtreleme ile canny yapılıyor
goz_gri=rgb2gray(goz);
h2 = fspecial('gaussian',[3 3], 0.5);
goz_filtre = filter2(h2,goz_gri)/255;
goz_canny = edge(goz_filtre(:,:,1),'canny');
subplot(4,4,9);
imshow(goz_canny);
title('canny göz');

% burun belirleniyor
NoseDetect = vision.CascadeObjectDetector('Nose','MergeThreshold',45);
BBs=step(NoseDetect,yuz);
subplot(4,4,10);
imshow(yuz); hold on
for i = 1:size(BBs,1)
rectangle('Position',BBs(i,:),'LineWidth',1,'LineStyle','-','EdgeColor','b');
end
title('burun belirleniyor');
hold off;

% burun kırpılıyor
burun=imcrop(yuz,BBs);
subplot(4,4,11);
imshow(burun);
title('burun kırpıldı');

% buruna gaus filtreleme ile canny yapılıyor
burun_gri=rgb2gray(burun);
h3 = fspecial('gaussian',[3 3], 0.5);
burun_filtre = filter2(h3,burun_gri)/255;
burun_canny = edge(burun_filtre(:,:,1),'canny');
subplot(4,4,12);
imshow(burun_canny);
title('canny burun');

%göz pixellerinin sayımı
bw1=bwareaopen(goz_canny,50);
subplot(4,4,13);
imshow(bw1);
title('göz pixelin sayımı')
gozpixelsayisi=bwconncomp(goz_canny,4);
goz_deger = bweuler(goz_canny,8);

%ağız pixellerinin sayımı
bw2 = bwareaopen(agiz_canny, 50);
subplot(4,4,14);
imshow(bw2);
title('agiz pixelin sayimi');
dudakpixelsayisi = bwconncomp(agiz_canny,8);
agiz_deger = bweuler(agiz_canny,8);

% burun pixellerinin sayımı
bw3 = bwareaopen(burun_canny, 50);
subplot(4,4,15);
imshow(bw3);
title('burun pixelin sayimi');
burunpixelsayisi = bwconncomp(burun_canny,8);
burun_deger = bweuler(burun_canny,8);

%yüz pixellerinin sayımı
bw3 = bwareaopen(yuz_canny,50);
subplot(4,4,16);
imshow(bw3);
title('yuz pixelin sayimi');
yuz_pixelsayisi = bwconncomp(yuz_canny,8);
yuz_deger = bweuler(yuz_canny,8);

goz_agiz_toplam= goz_deger+agiz_deger;
goz_burun_toplam= burun_deger+agiz_deger;
goz_agiz_burun_toplam= goz_deger+agiz_deger+burun_deger;

% oranlamalar
goz_yuz_orani= goz_deger/yuz_deger
agiz_yuz_orani= agiz_deger/yuz_deger
burun_yuz_orani= burun_deger/yuz_deger
goz_agiz_yuz_orani= goz_agiz_toplam/yuz_deger
goz_burun_yuz_orani= goz_burun_toplam/yuz_deger
goz_agiz_burun_yuz_orani= goz_agiz_burun_toplam/yuz_deger

fark1=goz_agiz_burun_yuz_orani-goz_burun_yuz_orani
fark2=goz_agiz_burun_yuz_orani-burun_yuz_orani
fark3=goz_agiz_burun_yuz_orani-goz_yuz_orani

% sınamalar
if(((goz_yuz_orani<0 .2068="" burun_yuz_orani="" cinsiyet="erkek" disp="" else="" figure="" goz_agiz_burun_yuz_orani="" goz_agiz_yuz_orani="" goz_burun_yuz_orani="" goz_yuz_orani="" if="" imshow="" resim="" title="">0.3149)||(burun_yuz_orani>0.29)||(goz_agiz_yuz_orani>0.51)||(goz_burun_yuz_orani>0.51)||(goz_agiz_burun_yuz_orani>0.7274)))
figure,imshow(resim);
title('cinsiyet=bayan');
disp('cinsiyet=bayan');
else if((fark1<0 .2274="" fark2="" fark3="">0.37))
figure,imshow(resim);
title('cinsiyet=erkek');
disp('cinsiyet=erkek');
else
figure,imshow(resim);
title('cinsiyet=bayan');
disp('cinsiyet=bayan');

end
end
end



Ad

Arduino Autocad Bilim-Teknoloji Biyomedikal Sistemler C-Programlama C# C# Programlama Diferansiyel Denklemler Dijital Kontrol Sistemleri Elektrik Devreleri 1 Elektrik Devreleri 2 Elektrik Makineleri 1 Elektrik Makineleri 2 Elektrik Tesislerinde Koruma Elektromantetik Alan Teorisi Elektromantetik Dalga Teorisi Elektronik 1 Elektronik 2 Elektronik-Devreler EmguCV Genel Fizik Genel Kimya Genel Matematik Gömülü Linux Güç Elektroniği Haberleşme Sistemleri İşaret ve Sistemler Lineer-Cebir Lojik Devreler Malzeme Bilimi MATLAB Mikroişlemciler Olasılık ve İstatistik Otomatik Kontrol Sistemleri PLC-Otomasyon Proje Yönetimi ve Girişimcilik Raspberry Pi Sayısal Analiz Sayısal İşaret İşleme Teknik-Kutuphane Termodinamik Yüksek Gerilim Tekniği
false
ltr
item
Çağlar GÜL: MATLAB ile Cinsiyet Belirleme
MATLAB ile Cinsiyet Belirleme
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEyZtzZWjTnYOguPDBqS2xyZTS6LHoHbmii601ull4DnYaedxyFcdRDJEbEhJ7oM7-QvC-4QF_ZN2pmz7aN2bHfU-PoQw2lxRfp7P1KV4-8Spipv3H8fEP6BIez5I9vcmS-1NNqOYqWZ8/s1600/gender.JPG
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEyZtzZWjTnYOguPDBqS2xyZTS6LHoHbmii601ull4DnYaedxyFcdRDJEbEhJ7oM7-QvC-4QF_ZN2pmz7aN2bHfU-PoQw2lxRfp7P1KV4-8Spipv3H8fEP6BIez5I9vcmS-1NNqOYqWZ8/s72-c/gender.JPG
Çağlar GÜL
http://elektronikafa.blogspot.com/2016/11/matlab-ile-cinsiyet-belirleme.html
http://elektronikafa.blogspot.com/
http://elektronikafa.blogspot.com/
http://elektronikafa.blogspot.com/2016/11/matlab-ile-cinsiyet-belirleme.html
true
871250089272898028
UTF-8
Not found any posts Not found any related posts VIEW ALL Readmore Reply Cancel reply Delete By Home PAGES POSTS View All RECOMMENDED FOR YOU Tag ARCHIVE SEARCH ALL POSTS Not found any post match with your request Back Home Contents See also related Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow THIS CONTENT IS PREMIUM Please share to unlock Copy All Code Select All Code All codes were copied to your clipboard Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy