İlk yazımda google service api ile bitmap üzerinde face detection'ın nasıl gerçekleştirildiğinden bahsetmeye çalışmıştım. Şimdi ise işi biraz daha ilerletip tanımlanan yüz üzerindeki işlemlerden biraz bahsedicem.
Yüzleri Kare İçine Alma
Tespit edilen yüzleri kare içerisine almak için Viev sınıfından extend edilen CustomView sınıfını oluşturuyoruz.
MainActivity'de daha önceki yazımda oluşturduğumuz TextView‘ı kaldırıp şu şekilde güncelliyoruz.
MainActivity.java
12345678910111213141516171819202122
@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);InputStreamstream=getResources().openRawResource(R.raw.image01);Bitmapbitmap=BitmapFactory.decodeStream(stream);FaceDetectordetector=newFaceDetector.Builder(getApplicationContext()).setTrackingEnabled(false).build();Frameframe=newFrame.Builder().setBitmap(bitmap).build();SparseArray<Face>faces=detector.detect(frame);// CustonView i oluştur, bitmap ve tespit edilen yüzlerin listesini verCustomViewoverlay=(CustomView)findViewById(R.id.customView);overlay.setContent(bitmap,faces);detector.release();}
Evet bu uygulamayı bu haliyle çalıştırdığımızda ekran görüntünüz şunun gibi bişey olacaktır.
Şimdilik bu kadar bir sonraki yazımda göz burun ve ağız gibi yüzün bazı bölgelerinin yerlerinin tespit edilmesinden bahsetmeye çalışıcam. Umarım yazımı faydalı bulmuşsunuzdur. Kafanıza takılan bişey olursa yorum yazmaktan çekinmeyin.