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)
Другие вопросы по тегам