2016-10-13 2 views
2

Я также нашел этот вопрос on Apple Dev Forum.Может ли CIDetector возвращать несколько CIF-элементов типа CIDetectorTypeRectangle?

Возможно ли установить CIDetector с CIDetectorTypeRectangle, чтобы вернуть больше, чем один прямоугольник?

В настоящий момент этот код всегда возвращает feature.count из 0 или 1, даже если изображение заполнено прямоугольниками.

let context = CIContext() 
let opts = [CIDetectorAccuracy : CIDetectorAccuracyHigh] 
let detector = CIDetector(ofType: CIDetectorTypeRectangle, context: context, options: opts) 
let image = CIImage(image: self.photoTaken) 
let features = detector.features(in: image) 

print(features.count) // never more than 1 

ответ

4

Согласно этому разговору в WWDC (http://asciiwwdc.com/2014/sessions/514), он ограничивается только один прямоугольником.

Вот цитата для этого:

Таким образом, мы создали общий объект детектора прямоугольника и он принимает один параметр варианта, который является соотношением сторон, что мы хотим найти.

И снова вы можете попросить детектор вернуть массив функций.

Теперь прямо сейчас он просто возвращает один прямоугольник, но это может измениться в будущем.

+0

Да, это было я понял, когда увидел, что на форуме Apple Dev не было ответа ... Надеюсь, футур скоро прибудет, прошло уже 2 года! Спасибо Джо. – Tulleb