UNPKG

@jeonjongchul/calcal-sdk

Version:

CalCal - 칼로리 계산 SDK

46 lines (39 loc) 1.23 kB
import { DetectedFood, ImageAnalysisResult } from '../types'; import { FOOD_DATABASE } from '../utils/constants'; export class ImageAnalysisService { private apiKey?: string; constructor(apiKey?: string) { this.apiKey = apiKey; } async analyzeImage(imageBase64: string): Promise<ImageAnalysisResult> { try { // 이미지 분석 로직 const detectedFoods = this.matchFoodsByKeywords(); const totalCalories = detectedFoods.reduce((sum, food) => sum + food.calories, 0); return { imageUri: '', // 이미지 URI는 외부에서 처리 detectedFoods, totalCalories, }; } catch (error) { return { imageUri: '', detectedFoods: [], totalCalories: 0, error: error instanceof Error ? error.message : '이미지 분석 중 오류가 발생했습니다.', }; } } private matchFoodsByKeywords(): DetectedFood[] { const matchedFoods: DetectedFood[] = []; Object.entries(FOOD_DATABASE).forEach(([name, data]) => { matchedFoods.push({ name, calories: data.calories, confidence: 0.8, portion: data.standardPortion }); }); return matchedFoods; } }