优化异常
This commit is contained in:
@@ -293,7 +293,7 @@ class FoodCollectionActivity : ComponentActivity() {
|
|||||||
)
|
)
|
||||||
initBox()
|
initBox()
|
||||||
val imageVector = try {
|
val imageVector = try {
|
||||||
FoodModule.bitmap2FloatArray(cropBitmap)
|
FoodModule.bitmap2FloatArray(cropBitmap, false)
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
e.printStackTrace()
|
e.printStackTrace()
|
||||||
toast("操作失败")
|
toast("操作失败")
|
||||||
|
|||||||
@@ -453,7 +453,7 @@ class GoodsStoreDialog(
|
|||||||
}
|
}
|
||||||
Thread {
|
Thread {
|
||||||
try {
|
try {
|
||||||
val imageVector = FoodModule.bitmap2FloatArray(bitmap)
|
val imageVector = FoodModule.bitmap2FloatArray(bitmap, true)
|
||||||
if (imageVector != null) {
|
if (imageVector != null) {
|
||||||
ObjectBox.boxStore.runInTx {
|
ObjectBox.boxStore.runInTx {
|
||||||
box?.put(Food(name = goods.goodsName + goods.goodsCode, foodIdx = 0, foodVector = imageVector))
|
box?.put(Food(name = goods.goodsName + goods.goodsCode, foodIdx = 0, foodVector = imageVector))
|
||||||
|
|||||||
@@ -61,11 +61,13 @@ object FoodModule {
|
|||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
|
|
||||||
fun bitmap2FloatArray(originBitmap: Bitmap): FloatArray? {
|
fun bitmap2FloatArray(originBitmap: Bitmap, isRecycle: Boolean): FloatArray? {
|
||||||
var rgb565Bitmap: Bitmap?=null
|
var rgb565Bitmap: Bitmap?=null
|
||||||
try {
|
try {
|
||||||
val scaledBitmap = originBitmap.scale(MODEL_INPUT_WIDTH, MODEL_INPUT_HEIGHT)
|
val scaledBitmap = originBitmap.scale(MODEL_INPUT_WIDTH, MODEL_INPUT_HEIGHT)
|
||||||
originBitmap.recycle()
|
if (isRecycle) {
|
||||||
|
originBitmap.recycle()
|
||||||
|
}
|
||||||
rgb565Bitmap = scaledBitmap.copy(Bitmap.Config.RGB_565, false)
|
rgb565Bitmap = scaledBitmap.copy(Bitmap.Config.RGB_565, false)
|
||||||
scaledBitmap.recycle()
|
scaledBitmap.recycle()
|
||||||
val inputTensor = TensorImageUtils.bitmapToFloat32Tensor(
|
val inputTensor = TensorImageUtils.bitmapToFloat32Tensor(
|
||||||
@@ -121,11 +123,11 @@ object FoodModule {
|
|||||||
nameScoreList.add(IdNameScore(id = it.id, name = box.get(it.id).name?:"", score = it.score))
|
nameScoreList.add(IdNameScore(id = it.id, name = box.get(it.id).name?:"", score = it.score))
|
||||||
}
|
}
|
||||||
Timber.tag("FoodModule").d("queryFood数据:${nameScoreList.toJsonString()}")
|
Timber.tag("FoodModule").d("queryFood数据:${nameScoreList.toJsonString()}")
|
||||||
|
query.close()
|
||||||
return nameScoreList
|
return nameScoreList
|
||||||
}
|
}
|
||||||
fun getFoodScoreList(bitmap: Bitmap, queryCount: Int = 15): List<IdNameScore> {
|
fun getFoodScoreList(bitmap: Bitmap, queryCount: Int = 15): List<IdNameScore> {
|
||||||
val floatArray = bitmap2FloatArray(bitmap)
|
val floatArray = bitmap2FloatArray(bitmap, false)
|
||||||
if (floatArray == null) return emptyList()
|
if (floatArray == null) return emptyList()
|
||||||
val nameScoreList = queryFoodNameScore(floatArray, queryCount)
|
val nameScoreList = queryFoodNameScore(floatArray, queryCount)
|
||||||
if (nameScoreList.isEmpty()) {
|
if (nameScoreList.isEmpty()) {
|
||||||
|
|||||||
Reference in New Issue
Block a user