Моя цель - обнаружить текст на изображении и поместить его в конкретное c текстовое представление. Проблема в том, что позиция обнаруженных слов изменяется в массиве. Я хочу, чтобы камера делала снимок сама по себе, когда она достигает определенной области c, поэтому выходные данные всегда одинаковы, и я могу поместить их в правильные текстовые изображения. Любые идеи?
Что я могу сделать, это сделать фотографию, сохранить ее, распознать текст и поместить весь текст в текстовое представление. Но это очень много, я хочу, чтобы конкретный c текст в указанном c textview.
fun startRecognizing(v: View) {
if (imageView.drawable != null) {
editText.setText("")
v.isEnabled = false
val bitmap = (imageView.drawable as BitmapDrawable).bitmap
val image = FirebaseVisionImage.fromBitmap(bitmap)
val detector = FirebaseVision.getInstance().onDeviceTextRecognizer
detector.processImage(image)
.addOnSuccessListener { firebaseVisionText ->
v.isEnabled = true
processResultText(firebaseVisionText)
}
.addOnFailureListener {
v.isEnabled = true
editText.setText("Failed")
}
} else {
Toast.makeText(this, "Select an Image First", Toast.LENGTH_LONG).show()
}
}
private fun processResultText(resultText: FirebaseVisionText) {
if (resultText.textBlocks.size == 0) {
editText.setText("No Text Found")
return
}
for (blocks in resultText.textBlocks) {
val blockText = blocks.text
val stringText = resultText.textBlocks
stringText[0]
editText.append(blockText + "\n")
}
}
stringText просто для меня, чтобы видеть, что внутри каждый раз, когда я ищу вывод распознанного текста .