React Native'de ML Kit ile Gerçek Zamanlı Şekil Tanıma
ML Kit, Google'ın mobil cihazlarda çalışan makine öğrenmesi kütüphanesidir. React Native'de kamera akışı üzerinde şekil, metin veya kod tanıması yapmak istersen, `react-native-ml-kit` paketini kullanabilirsin.
İlk olarak gerekli paketleri kur:
1npm install react-native-ml-kit react-native-camera2npx react-native link react-native-cameraAndroid için `android/build.gradle` dosyasına Google Play Services bağımlılığını ekle:
1allprojects {2repositories {3google()4mavenCentral()5}6}Temel bir şekil tanıma bileşeni şöyle yazılır:
1import React, { useState } from 'react';2import { View, Text, StyleSheet } from 'react-native';3import { RNCamera } from 'react-native-camera';4import MLKit from 'react-native-ml-kit';56const ShapeDetector = () => {7const [detectedShapes, setDetectedShapes] = useState([]);89const onCameraReady = async (camera) => {10setInterval(async () => {11try {12const options = {13quality: 0.7,14base64: true,15skipProcessing: true,16};17const data = await camera.takePictureAsync(options);1819const result = await MLKit.objectDetection(data.uri);20setDetectedShapes(result);21} catch (error) {22console.log('Hata:', error);23}24}, 1000);25};2627return (28<View style={styles.container}>29<RNCamera30style={styles.camera}31type={RNCamera.Constants.Type.back}32onCameraReady={onCameraReady}33captureAudio={false}34/>35<View style={styles.infoBox}>36<Text style={styles.title}>Tanınan Şekiller:</Text>37{detectedShapes.map((shape, idx) => (38<Text key={idx} style={styles.text}>39{shape.displayName} - %{(shape.confidence * 100).toFixed(0)}40</Text>41))}42</View>43</View>44);45};4647const styles = StyleSheet.create({48container: { flex: 1 },49camera: { flex: 1 },50infoBox: {51position: 'absolute',52bottom: 20,53left: 20,54right: 20,55backgroundColor: 'rgba(0,0,0,0.7)',56padding: 15,57borderRadius: 10,58},59title: { color: '#fff', fontSize: 16, fontWeight: 'bold' },60text: { color: '#fff', fontSize: 14, marginTop: 5 },61});6263export default ShapeDetector;Bu kod her saniye kameradan çerçeve yakalar ve ML Kit'e gönderir. Tanınan nesnelerin adı ve güven yüzdesini ekranda gösterir.
Beklenen çıktı: Kamera akışında "person", "cup", "book" gibi nesneler tanınır ve ekranın altında %85 gibi güven oranlarıyla listelenir.
Sık yapılan hata: Kamera izni almayı unutmak. `AndroidManifest.xml` ve `Info.plist` dosyalarında `CAMERA` ve `INTERNET` izinlerini eklemeyi unutma. Ayrıca cihazda ML Kit modellerinin indirilmesi biraz zaman alabilir, ilk çalıştırmada sabırlı ol.
0 yorum