Обнаружить углы треугольника в изображении на iPhone - PullRequest
1 голос
/ 17 апреля 2011

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

После некоторых исследований и размышлений о таких вещах, как OpenCV, ImageMagick и т. Д., Я не совсем уверен в том, как можно распознать и найти расположение вершин треугольника в изображении. Есть идеи?

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

РЕДАКТИРОВАТЬ: Если у кого-то есть решение, которое не использует никаких внешних библиотек, я все равно буду рад его услышать!

Ответы [ 2 ]

3 голосов
/ 18 апреля 2011

Можно определять формы на изображениях, а затем обнаруживать углы этих фигур, используя различные методы обработки изображений. См., Например, этот ТАК вопрос об обнаружении углов многоугольников и мой ответ там .

Будет ли это на самом деле простой или сложной задачей, во многом зависит от того, сколько информации вы можете смело предположить об изображении вашего треугольника.

Например, если ваши изображения сгенерированы на компьютере и имеют только треугольник и ничего больше, и если треугольник резко контрастирует с фоном, как показано ниже, вы могли бы написать что-то в несколько строк кода, используя OpenCV, что найди свои вершины.
triangle from wikipedia

В этом случае вы должны преобразовать свое изображение в изображение в градациях серого, применить порог для создания двоичного изображения, использовать встроенную функцию поиска границы изображения, а затем использовать любой из методов в вопросе SO. найти углы.

Если, с другой стороны, вы имеете дело с фотографией треугольника, ваша проблема станет намного сложнее, потому что не так просто будет получить двоичное изображение вашего треугольника. Вам придется иметь дело с неизвестными условиями освещения и фона. Возможно, вы не сможете использовать простой порог, и вы не будете знать, какое пороговое значение использовать. Скорее всего, вам понадобится сделать какое-то обнаружение краев на вашем изображении, и вы будете смотреть на длительный проект. Для начала см. Книгу О'Рейли, Изучение OpenCV .

enter image description here

0 голосов
/ 17 апреля 2011

Обнаружение функций - сложная вещь, поэтому, если вы не хотите писать свои собственные с нуля, вы застряли с помощью сторонней библиотеки. Вот тот, который выглядит многообещающе:

http://code.google.com/p/simple-iphone-image-processing/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...