FirebaseML에서 텍스트 인식을 수행! [SwiftUI]
소개
안녕하세요, iOS 앱을 최근에 개발하고 있습니다 @ 료스케 카미 무라
이번에는 SwiftUI에서 텍스트 인식을 실시합니다!
바쁜 분을 향해 결론부터 먼저 말합니다! !
결론
결론은 세 가지 점이 있습니다.
1. FirebaseML은 일본어로 인식하는 성능이 양호
2. 필기 문자 인식은 조금 어렵다.
3. 1000 요청까지 무료!
이하, 튜토리얼적으로 실시합니다!
Firebase 프로젝트 설정
①Firebase와 제휴
Firebase 설정 에서 참조하십시오.
Firebase에 등록의 공통 부분이기 때문에 여기에서는 생략하겠습니다.
② Firebase 콘솔에서 클라우드 기반 API를 활성화합니다.
Cloud API 사용 보기 옆의 버튼을 On으로 설정합니다.
③Firebase 공식 문서를 보면서 텍스트 인식을 실시
MLKit을 사용하여 이미지의 텍스트를 인식하는 iOS
SwiftUI로 쓰고 싶었기 때문에 코디네이터를 잘 맞추고 UILable을 래핑하도록 썼습니다!
(더 이렇게 쓰는 편이 좋다는 지적 코멘트로 기다리고 있습니다!)
이번 기사에서는, 실제로 텍스트 인식을 실시하는 함수에 주목해 보고 싶습니다.
(Firebase의 공식 문서에서는 적기 때문에)
RecognizedText.swift
func recognizedTextFunc() -> String {
// この関数の中を記述していく
}
2.Vision 인스턴스 초기화
RecogniedText.swift
func recognizedTextFunc() -> String {
//Visionインスタンスの初期化
let vision = Vision.vision()
let options = VisionCloudTextRecognizer(options: options)
// 言語の優先順位を追加
options.languageHints = ["en", "ja"]
let textRecognizer = vision.cloud
vision.cloudTextRecognizer(options: options)
//"logo"画像を入れる
let visionImage = VisionImage(image: UIImage(named: "logo")!)
}
3.result를 얻는 클로저 만들기
RecognizedText.swift
textRecognizer.process(visionImage) { result, error in
guard error == nil, let result = result else {
return
}
//let resultText = result.text
for block in result.blocks {
//let blockText = block.text
//let blockConfidence = block.confidence
//let blockLanguages = block.recognizedLanguages
//let blockCornerPoints = block.cornerPoints
//let blockFrame = block.frame
for line in block.lines {
//let lineText = line.text
//let lineConfidence = line.confidence
//let lineLanguages = line.recognizedLanguages
//let lineCornerPoints = line.cornerPoints
//let lineFrame = line.frame
for element in line.elements {
let elementText = element.text
//let elementConfidence = element.confidence
//let elementLanguages = element.recognizedLanguages
//let elementCornerPoints = element.cornerPoints
//let elementFrame = element.frame
//self.recognizedText.wrappedValue = elementText
//self.text = elementText
//出来たテキストをリストに格納する
getTexts.append(elementText)
}
}
}
//出力できたテキストを1つの文字列にする
self.recognizedText = getTexts.joined(separator: "")
}
이제 함수가 생겨서 문자를 꺼낼 수 있었습니다!
UI를 만들어 실행해 보자!
이렇게 잘 인식할 수 있었습니다!
개요와 결과의 상세를 Severless LT #3에서 발표하셨으므로, 자세히 보고 싶다! 라는 분은 부디!
슬라이드 : h tps : // s ぃ로 ぃゔぇ. jp/sぃ로/17468048 아 2f1b6에 d57c? 에이 t_i d = 17394b601591bcf3f06
Github에 자신의 코드도 실려 있기 때문에 기주 b / 료스케 카미 무라 잘 부탁드립니다!
끝까지 읽어 주셔서 감사합니다!
참고
Firebase 공식 자습서
Swift 실천 입문
Reference
이 문제에 관하여(FirebaseML에서 텍스트 인식을 수행! [SwiftUI]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/coffmark/items/4a6296df08b869348203텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)