📸CameraX Kullanımı
Android üzerinde güncel beta sürmü olan CameraX kullanımı (👨🔬 Beta)
📦 Bağımlılıkları Dahil Etme
➕ Projenizin
build.gradledosyasındakidependenciesalanına alttakiimplementationbilgilerini ekleyin📢 CameraX, java 8 kütüphanelerini de kullandığı için
compileOptionsda eklenmelidir
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
dependencies {
// ...
implementation "androidx.camera:camera-camera2:1.0.0-beta01"
implementation "androidx.camera:camera-core:1.0.0-beta01"
implementation "androidx.camera:camera-extensions:1.0.0-alpha08"
implementation "androidx.camera:camera-lifecycle:1.0.0-beta01"
implementation "androidx.camera:camera-view:1.0.0-alpha08"
}📃 CameraX XML Kodları
👮♂️ Buradaki XML kodları, Activity java sınıfının temsil ettiği layout dosyasına yazılmalıdır
😥 Android layout editörü
PreviewView'i henüz desteklememektedir, IDE görsel çıktı sunmaz💁♂️ Ama çalışır
⭐ Alttaki fotoğrafta XML'in temsil ettiği çıktı gösterilmiştir

👮♂️ Gerekli İzinlerin Alınması
📜 Manifest izinlerini alma
😅 Kamera ile çalışacağımızdan, haliyle kamera iznine ihtiyacımız olacaktır
📜 Android manifest dosyanıza alttaki izin satırını ekleyin
👮♂️ Uygulama içinden izin isteme
👀 CameraX Ön İzlemesi
📸 Alttaki kod ile kameraya gelen görüntüyü ekrana basacağız
👮♂️
cameraProviderFuture.get()ile kameranın olduğundan emin oluyoruz🎳
PreviewView.ImplementationMode.TEXTURE_VIEWanimasyonları ve dönüşümleri destekler, daha fazla memory kullanır🕊️
PreviewView.ImplementationMode.SURFACE_VIEWdaha hızlı ve basit çalışan bir yapıdır
📸 Resim Çekme Özelliği Ekleme
✨
ImageCaptureobjesi oluşturup, onu kameramıza dahil edeceğiz💠 Resmin alındığı metodu
takePictureolarak tanımlayacağız💫 Daha önceden XML üzerinde tanımladığımız
ImageButton'a tıklandığındatakePicturemetodu çalışacak💎 Alınan resimleri kayıt edileceği yeri ayarlamak için
companion objecttanımlayacağız👷♂️ Executor çeşitlerini açıkladığım Thread Pool ~ Lib - YEmreAk yazısına bakmanda fayda var
🔥 ML Kit ile Resmi Analiz Etme
👮♂️ Yüz yanıma işlemleri için resim boyutunun en az 480x360 olması gerekmektedir
✨ Resmin analiz işlemleri için ilk olarak
imageAnalyserobjesi tanımlanır🐥 Firebase kurulum işlemlerini 🔥 Firebase ML Kit yazım ile uygulayabilirsin
😅 Firebase hakimiyetin olduğunu varsayarak devam ediyorum
👨💼 Oluşturulan
imageAnalyserobjesi içerisinde resim Firebase resmine dönüştürülüp işlenir👨🎨 Preview üzerine çıktıları göstermek için
canvasişlemlerini araştırınız
⭐ Analiz örneği istersen MLKit Demo ~ AsmaaMirkhan projesindeki MLKitFaceAnalyser java sınıfını inceleyebilirsin.
imageAnalysis.setAnalyzer(executor,MLKitFaceAnalyser())şeklinde kullanılır.
⭐ Uygulamanın Son Çıktısı

🖊️ Kamera Çıktısına Çizim Yapma
👮♂️ İlk olarak
PreviewViewüzerine çizim yapamazsın, çünkü kamera ile kitlenmiş durumdadır🐣 Yeni bir
SurfaceViewtanımlayıp, onun üzerine çizim yapmalısın🖼️
FrameLayoutile her ikisini üst üste koymalı ve çizim yaptığını daha önde göstermelisin
🔗 Faydalı Kaynaklar
🚀 Bu alandaki bağlantılar YEmoji ~Bağlantılar yapısına uygundur
Last updated
Was this helpful?