홈>
반환 된 객체가있는 TessBaseAPI () 객체가 있습니다. 경계 상자로 단어를 추출하고 싶지만 작동하지 않는 것 같습니다.
val Text = tesseract.getUTF8Text()
텍스트를 알려주세요.
val Words = tesseract.getWords.boxRects
루프 할 수있는 경계 상자를 제공하지만 getUTF8Text ()와 일치하지 않습니다.
testesact.getWords의 데이터 객체를 반복하여 문자열로 변환하려고하면 혼란스러워집니다.
val Words = tesseract.getWords
for(i in Words) {
Log.i(TAG, i.data.toString())
}
.getHOCRText를 사용하고 텍스트와 상자를 얻기 위해 제작 된 콘텐츠에 정규식을 사용하여 정말 나쁜 해결 방법을 찾았습니다.
val result = tesseract.getHOCRText(0)
val BoxPattern = Pattern.compile("(?<=title='bbox ).*?(?=; x_wconf)")
val BoxMatch = BoxPattern.matcher(result)
while(BoxMatch.find()) {
Log.i(TAG, BoxMatch.group().toString())
}
val TextPattern = Pattern.compile("(?<='>).*?(?=<\\/span>)")
val TextMatch = TextPattern.matcher(result)
while(TextMatch.find()) {
Log.i(TAG, TextMatch.group().toString())
}
그래서 tess-two에서 텍스트와 boxRects를 올바르게 추출하려면 어떻게해야합니까?
- 답변 # 1
관련 질문
- android : ImageButton 너비와 높이가 있는 그리드 레이아웃
- android : kotlinx.parcelize.Parcelize는 kotlin 1.4.20의 kmm 프로젝트에서 찾을 수 없습니다.
- android : 플러터에서 kotlin 예외로 Gradle 빌드 실패
- android : TextInputEditText에서 쉼표 비활성화
- android : mutableListOf
() ( 2개의 매개변수 포함)를 다른 활동에 보냅니다. - android : 동일한 비동기 블록 또는 개별 블록에서 여러 장기 실행 작업
- android : 왜 Kotlin에서 싱글톤을 만들기 위해 컴패니언 객체를 사용합니까?
- android : 오류를 던지는 Firebase 데이터베이스로 테스트
- android : Mapbox IllegalStateException: 새로운 스타일이 로드 중이거나 로드되었을 때 getSourceAs 호출
- 다중 캐치 예외를 단위 테스트하는 방법 Kotlin Android
해결했습니다!
TessbaseAPI.PageIteratorLevel은 반환하려는 텍스트 구조 유형 (단락, 단어, 줄 또는 문자)으로 지정할 수 있습니다.