тут, имхо, в скорость упрется - и барабан, и шарик крутятся достаточно быстро... но, наверное можно дождаться, когда все до приемлемых скоростей затормозится... Сейчас, по-моему, оценить возможные грабли, а тем более предлагать реализации - рано. Сперва нужно оценить параметры камеры, выбрать модель, а потом уже смотреть, что она видит, что нет, насколько информативны картинки - с какой частотой нужно кадры обрабатывать и т.п.
Так ведь бюджет топикстартеру не нравится совсем Ну может программиста он в Воронеже найдет, но остальное то надо закупать, быстрая камера это дорого, линзы тоже. Компьютер может какой уже есть, pan/tilt все равно надо.. Да ну, если денег нет, чего тут обсуждать
AndreiSk писал(а):Да ну, если денег нет, чего тут обсуждать
Как чего? Алгоритм для программера(которого найдёт ТС за недорого) А вообще начать наверное стоит с неподвижного колеса, выделить область с радиусом равным положению лунок от носительно оси рулетки и преобразовать в одномерный массив(в зависимости от цвета лунок). А затем искать в массиве зелёную область (зеро) и область с белым пятном(шарик) и по их относительному положению определять выпавший номер...
AndreiSk, чтобы Вы не думали, что я такой жадный воронежский дядька, давайте пройдемся по пунктам Вашей сметы.
1. Индустриальная камера + линза. А зачем индустриальная? Можно ли обойтись обычной для видеонаблюдения + платой вз? И если нет, то почему? 2. Опять же, в чем идея дорогого ПК? Вы считаете, что баребон на базе Atom 510 не справится с вычислениями такой сложности? 3. Поворотная система. Это вообще зачем? Почему нельзя взять камеру на головке? 4. Программист за $5.000, который месяц будет ваять поиск шарика между заданными радиусами будет вечно гореть в аду за обман заказчиков.
Господа, на тот случай, если не увидели в моем предыдущем сообщении. Мы отказываемся от расчета скорости шарика на борту. Остается только поиск номера, в который попал шарик.
1. Я пока не понял - надо или нет в ходе вращения барабана определять где шарик? 2. Вполне возможно, что не справится, вам же нужна достаточная точность определения номера с шариком, а это явно не 320х240 разрешение. 3. Поворотная система думаю не нужна. 4. Программист за 5K$ не будет гореть в аду, потому что вам надо реально работающую систему в реальных условиях с низким % ошибок, а не курсовую работу, которая отработала на защите в тепличных условиях не совсем по плану и ладно
Надо определять в ходе вращения. Но колесо рулетки крутится довольно медленно. А можно ли принять к рассмотрению следующий алгоритм? 1. Следим за одной точкой, расположенной в ячейке (см. вложение). 2. Когда цвет точки меняется на зеленый, начинаем отсчет. 3. Считаем изменения цвета точки (черное-красное-черное...) до тех пор, пока точка не станет белой (шарик). 4. Мы получили положение шарика относительно Зеро.
С уважением, Сергей.
Вложения
Последний раз редактировалось pt177 14 ноя 2010, 09:49, всего редактировалось 1 раз.
Возьмите обычную камеру и раскрутите рулетку - посмотрите на кадры, где она по вашему крутится достаточно медленно, а еще лучше - выложите ролик и кадры здесь.
Нет, ролик не наш, просто нашел на ютюбе. Уважаемые специалисты, как вам кажется, такого качества картинки будет достаточно для определения положения шарика?
Сложно сказать. С виду прилично, но как будет на практике, например - есть моменты, когда шарик находится над местом, где обычно блик (на 20 секунде) - фиг знает сработает ли определение. Определять положение колеса кстати достаточно просто - по зеленому Zero. Еще на 17 секунде шарик почти не виден под нижним краем бортика внешнего.
кстати,думаю в этом случае программист БУДЕТ гореть в аду, если распознование будет плохое....представьте себе на секунду ситуацию в казино когда вас обманывает аппарат...вы поставили на 12, шарик попал на 12, а аппарат говорит "25"....так что 5000$ это нормально....
1 месяц нужно закладывать только на тестирование, исправление проги, отладку всего аппаратно-программного комплекса в реальных условиях. И то как бы не мало этого оказалось. И не менее 2 месяцев закладывать на написание проги. Тут скорее всего основные затраты труда программиста будут на проверку и отбраковку различных алгоритмов надежного распознавания. Итого очень предварительная моя оценка проекта ~3 месяца работы программиста при стоимости одного часа ~$20 и 8 часовом рабочем дне, 5 рабочих днях в неделе и грубо - 4 неделях в месяце. Получаем 9600$. Думаю, что это даже довольно скромная сумма для такого рода работы. Я обычно ошибаюсь в меньшую сторону как по времени работы так и по сумме. Но при этом в ТЗ все равно нужно указать надежность получения результатов не 100% а хотя бы 99 с каким-нибудь кол. девяток после запятой. Или даже меньшую точность работы программы. Один цикл вброса шарика длится около 30 сек. Это сколько же времени потребуется только для проверки надежности хотя бы 2 знаков после запятой (99,99%)? 10000 запусков рулетки умножить на 30 сек = ~83 часа. А это - больше 2 недель только чистовых приемочных испытаний. Возможно, что кто-то выполнит эту работу за 2-3$ в час и за 1 месяц работы, но это весьма маловероятно. Обратитесь к тайским программистам или к индусам из только что подключенной к интернету деревеньки.
Кстати, я заметил изменение бликов на вышеуказанном топикстартером видео когда крупье отходит от рулетки после вброса шарика. И таких изменяющихся бликов будет предостаточно особенно от вращающихся частей рулетки из-за неидеальности поверхности, включения и выключения света где-то неподалеку, перемещения людей и т.д. В каких-то имплементациях шарик в ближней зоне будет теряться из видимости из-за высокого борта рулетки. Кое-где шарик как заметил DeaD будет попадать на блик. И это - только вершина айсберга проблем, которые нужно будет решать при выполнении проекта.
pt177 писал(а):Нет, ролик не наш, просто нашел на ютюбе. Уважаемые специалисты, как вам кажется, такого качества картинки будет достаточно для определения положения шарика?
IMHO 640x480, так и не понятно, нужно ли вам отслеживать движение шарика во время вращения. Если надо, но должна быть высокоскоростная камера, если не надо, то можно и вебкамерой попробовать. Зря от pantilt отказываетесь, он может помочь центрировать рулетку на картинке. По краям обычно искажения идут. А руками центрировать замучаешься.
ЗЫ. Я ни каким боком не берусь делать, ибо у меня и так есть работа Вот уважаемые доны советуют заложить 3 месяца на работу, это значит 3*$5000=$15000
Тема опять скатилась к делёжке неубитого ещё медведя А всёж, какие алгоритмы лучше использовать для данной задачи? Понятно что тестирование требует времени и в это время, программер должен чувствовать себя комфортно... Давайте хоть поможем ТС определится с реальной реализуемостью его задачи, думаю почему-то , что деньги не проблема.