支持菜品识别

This commit is contained in:
2025-10-16 19:20:59 +08:00
parent d9b725cb63
commit c23aedf464
19 changed files with 579 additions and 42 deletions
@@ -10,6 +10,7 @@ import android.view.View
import android.view.ViewOutlineProvider
import android.widget.AdapterView
import android.widget.ArrayAdapter
import android.widget.Toast
import androidx.activity.viewModels
import androidx.camera.core.CameraSelector
import androidx.camera.core.ImageAnalysis
@@ -29,10 +30,13 @@ import com.sw.dualscreen.databinding.ActivityMainBinding
import com.sw.dualscreen.databinding.ItemFoodInfoBinding
import com.sw.dualscreen.ext.dp
import com.sw.dualscreen.model.response.FoodInfo
import com.sw.dualscreen.objbox.FoodModule
import com.sw.dualscreen.presentation.SecondaryScreenPresentation
import com.sw.dualscreen.sdk.SensorScaleUtils
import com.sw.dualscreen.utils.AssetsTool
import com.sw.dualscreen.utils.Debouncer
import com.sw.dualscreen.utils.GlideUtils
import com.sw.dualscreen.utils.ImageUtil
import com.sw.dualscreen.view.CustomBottomSheetDialog
import com.sw.dualscreen.viewmodel.BaseViewModel
import com.sw.dualscreen.viewmodel.UserViewModel
@@ -76,6 +80,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
setupSecondaryDisplay()
setupCamera()
initData()
FoodModule.init(this)
}
private fun initData() {
@@ -184,7 +189,23 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
debouncer.debounce {
takePhoto { photoUri ->
lastPhotoUri = photoUri
viewModel.getIdentifiedFoodList()
Timber.d("registerDataChange photoUri = ${photoUri.path}")
// viewModel.getIdentifiedFoodList()
AssetsTool.loadImageBitmapFromAssets(this, "data/20251016-091510.png") { bitmap ->
val resultList = FoodModule.queryFood(bitmap)
val name = resultList.joinToString(separator = ",") { it.name.toString() }
Timber.d("registerDataChange 固定图片识别数据名称:$name")
}
ImageUtil.uriToBitmap(this, photoUri)?.let { bitmap ->
Timber.d("registerDataChange photoUri 拿到bitmap")
val resultList = FoodModule.queryFood(bitmap)
Timber.d("registerDataChange photoUri 拿到识别数据")
val name = resultList.joinToString(separator = ",") { it.name.toString() }
Timber.d("registerDataChange photoUri 识别数据名称:$name")
// Toast.makeText(this, "${res.name}|${res.foodIdx}|${res.score}", Toast.LENGTH_LONG).show()
}
}
}
}