CIDetector для обнаружения любых объектов, ограничивающих прямоугольник - PullRequest
0 голосов
/ 30 января 2019

Представьте себе массив изображений, подобных этим with white gap insde gapless uncentered backgrounded

Фон всегда белый (дажена 3-м рисунке главный объект - это большой коричневый прямоугольник с фигурами внутри)

Независимо от типа изображения, вам необходимо: 1) найти прямоугольник границы основного объекта 2) вырезать его следующим образом

cropped out

3) и поместите его в центр пустого квадратного изображения.

Как бы вы этого достигли?Я уже знаю, как вырезать что-либо, зная прямоугольник, и размещать его где угодно, но мне просто нужно знать, каким способом лучше всего сделать первый шаг.Vision API может обнаруживать прямоугольники, лица и штрих-коды, но мне кажется, что мне нужно еще проще.Мне просто нужно найти самый левый, самый правый, верхний и нижний небелые пиксели, и это будут мои границы.Есть ли способ, кроме итерации pixelBuffer для каждого пикселя?

1 Ответ

0 голосов
/ 05 февраля 2019

Какой тип этих изображений?UIImage?CAShapeLayer?В большинстве случаев вы сможете получить .frame от каждого изображения в массиве, которое даст вам CGRect исходные координаты X и Y, а также размеры по высоте и ширине.Вы также должны иметь доступ к .midX и .midY координатам или .center.x и .center.y, чтобы найти среднюю точку, которую вы ищете.Если вы не говорите о том, что вы берете сплющенное растровое изображение, такое как .jpg или .png, и запускаете какое-то обнаружение формы содержимого, в этом случае вам понадобится что-то вроде Vision, чтобы выполнить то, что вы пытаетесь сделать.

...