Android 为什么每次扫描后结果差别不大?
Android Studio 3.6,Firebase ML工具包 我创建的Android应用程序需要扫描图像并从中提取文本。 为此,我使用Firebase ML工具包 在我的应用程序/build.gradle中:Android 为什么每次扫描后结果差别不大?,android,firebase-mlkit,Android,Firebase Mlkit,Android Studio 3.6,Firebase ML工具包 我创建的Android应用程序需要扫描图像并从中提取文本。 为此,我使用Firebase ML工具包 在我的应用程序/build.gradle中: dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'com.google.android.material:material:
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.google.android.material:material:1.2.0-alpha03'
implementation 'com.google.android.gms:play-services-maps:17.0.0'
implementation "com.otaliastudios:cameraview:2.5.0"
implementation('com.crashlytics.sdk.android:crashlytics:2.10.1@aar') { transitive = true; }
implementation 'com.google.firebase:firebase-ml-vision:24.0.1'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'com.synnapps:carouselview:0.1.4'
implementation 'androidx.appcompat:appcompat:1.1.0'
以下是我的活动:
import android.Manifest
import android.content.DialogInterface
import android.content.Intent
import android.graphics.Bitmap
import android.os.Bundle
import android.widget.Toast
import androidx.databinding.DataBindingUtil
import com.google.firebase.ml.vision.FirebaseVision
import com.google.firebase.ml.vision.common.FirebaseVisionImage
import com.google.firebase.ml.vision.text.FirebaseVisionText
private fun runDetector(bitmap: Bitmap?) {
val image = FirebaseVisionImage.fromBitmap(bitmap!!)
val detector = FirebaseVision.getInstance().onDeviceTextRecognizer
val result = detector.processImage(image)
.addOnSuccessListener { firebaseVisionText ->
processTextResult(firebaseVisionText)
}
.addOnFailureListener { e ->
}
}
private fun processTextResult(firebaseVisionText: FirebaseVisionText) {
var detectedText = "\n"
firebaseVisionText.textBlocks.forEach {
detectedText += it.text + "\n"
}
Debug.d(TAG, "processTextResult: detectedText_start\n")
Debug.d(TAG, detectedText)
Debug.d(TAG, "processTextResult: detectedText_end")
此处为扫描3次后的结果同一图像(带文本):
F
1111111111111 o01操作员81
乐天
1.808 X 17.00
1.008x17.00
1.060 x 3,08
17.00摄氏度
17.00摄氏度
3.00摄氏度
拿铁咖啡
apte
0AL
NUME RAR
37.00
.00
803艺术
VA C 10.00%
37
MUL TUMIM!!!
103654
23-12-2819
15:14
苯教:0131
ZKO0602347
序列号N
N.印度卢比
F702022971“
- 每次扫描后是否可能得到相同的结果
- 如何获得最一致的结果
这是因为相机的角度在扫描时不一样,为了检查最相同的结果,必须编写复杂的代码
"some company name
C.F
C
F
9881
Latte
1111111111111
Operator 81
1.000 X 17.00
1,008 X 17.00
17.00 C
17.00 C
3.00 C
Latte
apte
1.060 X 3.08
31.86
UIAL
TVA C 10.00%
NUMERAR
B. .36
,00
ART
37
883
MUL TUMIM !
15:14
103654
BON FISCAL: 6131
23-12-2819
ZKO0682347
Ser.N
N.Inr
F782022971"