GMVTextLineFeature возвращает ноль при инициализации с изображением в iOS

Я инициализировал textlinedetector как показано ниже

self.textDetector = [GMVDetector detectorOfType:GMVDetectorTypeText options:nil]; 

Так как я хочу только строку, а не весь блок, я имею прямой доступ GMVTextLineFeature и входное изображение имеет тип UIImage прямо с камеры предварительного просмотра.

NSArray<GMVTextLineFeature *> *features = [self.textDetector featuresInImage:[_Result originalImage] options:nil]; 

Но приведенный выше массив равен нулю.

   [myOperation setCompletionBlock:^{


                for (GMVTextLineFeature *textLine in features) {

                    NSLog(@"value of each element: %@", textLine.value);

                    _Result.text = textLine.value;
                }



        [self finishDetection];
    }];

    [_operationQueue addOperation:myOperation];

Меня беспокоит то, что мой проект находится в зачаточном состоянии, а GoogleVision построен на Cocoapods. Поэтому я вручную скопировал файлы фреймворка в свой проект и связал его frameworks and libraries, Я также связал файлы ресурсов для фреймворков, где он содержит все файлы конфигурации config copy resource bundles,

Все же feature объект nil, Я также несколько раз чистил проект. Так как я новичок в iOS, я не могу понять, является ли это проблемой с cocoapods для gradle или как она реализована. Но именно так это реализовано в демонстрационном приложении TextDetectorDemo. Я использую XCode 9.4.

Любое понимание или любые обходные пути будут высоко ценится.

Заранее спасибо.

1 ответ

Преобразуйте или воссоздайте UIImage, прежде чем переходить на мобильное зрение с аналогичным расширением, фильтр можно изменить в соответствии с вашими потребностями

extension UIImage {
    var noir: UIImage? {
        let context = CIContext(options: nil)
        guard let currentFilter = CIFilter(name: "CISharpenLuminance") else { return nil }
        currentFilter.setValue(CIImage(image: self), forKey: kCIInputImageKey)
        if let output = currentFilter.outputImage,
            let cgImage = context.createCGImage(output, from: output.extent) {
            return UIImage(cgImage: cgImage, scale: scale, orientation: imageOrientation)
        }
        return nil
    }
}
Другие вопросы по тегам