Firebase MLKit для обнаружения текста в iOS ошибка
Я хочу использовать MLKIT (для распознавания текста) firebase в моем приложении для iOS. У меня есть приложение для загрузки и тестирования. Но когда я использую core ml в своем собственном проекте, где я снимаю изображение с камеры iPhone и использую функцию вызова ML Kit для этого изображения, MLKit не будет показывать мне никакого результата. Подскажите, пожалуйста, почему он работает с изображениями по умолчанию, но не смог получить результат при использовании захваченного изображения?
1 ответ
Это может быть проблема с ориентацией изображения. Исправьте ориентацию перед созданием VisionImage. Это сработало для меня.
let fixedImage = pickedImage.fixImageOrientation()
Добавьте это расширение.
extension UIImage {
func fixImageOrientation() -> UIImage {
UIGraphicsBeginImageContext(self.size)
self.draw(at: .zero)
let fixedImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return fixedImage ?? self
} }
Еще одно решение заключается в том, что вы можете предоставить ориентацию в виде метаданных для изображения зрения, как показано в этой ссылке.
Я также столкнулся с проблемами при обнаружении текста с использованием MLKit
в iOS Я интегрировал sdks согласно документу, но тексты были обнаружены неправильно, и были получены плохие результаты, я делал фотографии с помощью iPhone 6s. Затем я понял, что действительно требуется некоторая обработка, и, наконец, я обнаружил, что код из примеров Google реализует выделенное ниже имя метода из примера, вам нужно изменить размер и масштабировать изображение в соответствии с представлением изображения, после добавления кода он начал обнаруживать должным образом.
(ps: я не уверен, могу ли я выложить код здесь, как это в Google репо, поэтому дайте ссылку)
private func updateImageView(with image: UIImage)