2012-06-23 3 views
4

Следуя за my other question, вы, ребята, знаете хороший пример в OpenCV с простым черно-белым калибровочным изображением и подходящими алгоритмами обнаружения?Простой пример OpenCV для измерения размера объекта на экране

Я просто хочу показать какое-то изображение на экране B-&, сфотографировать это изображение издалека и рассчитать размер отображаемого изображения, чтобы рассчитать расстояние до указанного экрана.

Прежде чем я снова изобрету колесо, я считаю, что это так легко, что это можно было бы добиться разными способами в OpenCV, но я подумал, что спрошу, есть ли предпочтительный способ, возможно, с некоторым примером кода.

(я получил некоторый код обнаружения лица работает с использованием haarcascade-XML файлов уже)

PS: У меня уже есть разрешение/дюйм-часть моего экрана покрыта, так что я знаю, насколько большой картина будет в см на моем экране.

EDIT:

Я сделаю это реальный простой, мне нужно:

  1. Узор, который легко узнаваем в изображения. Прямо сейчас я экспериментирую с шахматной доской. Люди, которые делали ARDefender, использовали this.
  2. Соответствующий алгоритм для определения точных координат пикселя рисунка 1) на изображении с использованием OpenCV.
+0

Извините, но у меня нет вашего вопроса - вы хотите рассчитать расстояние до другого телефона, и этот (другой) телефон имеет черно-белое изображение на нем? – ArtemStorozhuk

+0

Я хочу показать изображение (будь то на телефоне или экране не важно), которое легко распознается в OpenCV. Поэтому я могу рассчитать размер изображений в пикселях на картинке. (Как только я знаю, насколько велика тестовая модель, я могу легко вычислить ее расстояние, потому что я знаю, что это фактический размер в см). – Bersaelor

+1

Вы хотите распознать этот образ при дефарентном освещении? – ArtemStorozhuk

ответ

0

вы просто должны сфотографировать ваш B & объекта W от нескольких известных расстояний (1й, 2й, 3й, ...), а затем для каждого расстояния проверить размер вашего объекта в соответствующем изображении. Из этих данных вы сможете создать линейную функцию, дающую вам расстояние от размера в пикселях (y = ax + b должен делать;)), переведите его в свой код, и все готово. Cheers

+0

проблема, похоже, не в этом. – ArtemStorozhuk

+0

Согласитесь с Астором, потому что то, что вы написали, это то, что я знаю уже, а не мой вопрос. – Bersaelor

+0

-1 для этого довольно суровый. Я не забочусь о 50-очковой награде. Просто хотел помочь. Научитесь лучше выражать себя и писать свою проблему, так что каждый может понять это чувак. – CTZStef

1

Ну, трудно сказать, какое изображение лучше всего подходит для распознавания - в разных условиях освещения любой цвет можно интерпретировать как другой цвет. Простой пример:

sample example

Как вы можете видеть, как дорожные знаки имеют красный цвет границы, но даже на один изображение верхнего знак граница, очевидно, не красная.

Так что, на мой взгляд, вы должны использовать изображение с разными цветами (например, радугой). А также вы сказали, что это должно быть легко узнаваемым под разными углами. Вот почему форма круга - лучшая для него.

Вот почему ваше изображение должно выглядеть следующим образом:

example

Так идея обнаружения такого объекта заключается в следующем:

  1. сделать другой цвет сегментации (синий, красный, зеленый и т.д.) , Для этого используйте цветовое пространство HSV.
  2. Определить круги определенного цвета на изображении.
  3. Эта область, которая имеет наибольшее количество кругов, кажется вашим объектом.
+0

Я не думал о цвете так много. Подробнее о том, что образец уникален и с высокими контрастами, поэтому размер/границы/легко измеримы. Но идея с кругами хорошая, я посмотрю на это и ответьте снова, как только я получу что-то полезное :) – Bersaelor

+0

@Bersaelor кажется, что шаблон будет терпеть неудачу под другим углом. – ArtemStorozhuk

 Смежные вопросы

  • Нет связанных вопросов^_^