Большой Воронежский Форум
» Программирование>Нужен программист Delphi
SravenS 23:10 16.05.2012
Нужна программа: С помощью проектора выводится изображение на стену.Так же есть web камера направленная на стену.Нужно реализовать управление указателя мышки в windows с помощью лазерной указки(желательно красной и зелёной).И это всё должно работать очень корректно, с сглаживанием.Желательно использование компонента VideoGraber и TQuickPixels.
Прога нужна как можно раньше...максимум неделя.
Кто возьмется?И за какие деньги? [Ответ]
Spectator 02:15 17.05.2012
На правах Нострадамуса раздела - никто.
Через "максимум неделя" тему прихлопнем. [Ответ]
Hopkroft 08:26 17.05.2012
SravenS, недели маловато. Т.к. одна задача тянет за собой другую. Например та-же калибровка экрана прилично в реализации займёт.
На хитрость можно пойти, что-бы показать камере где находятся границы экрана. Да и открытие/закрытие, перемещение элементов это тоже временя.
Потому-что придётся придумывать, систему по которой каким-то образом только при помощи светящейся точки реализовывать кучу привычных действий.
Так-то проще найти готовый продукт.
Я видел подобные вещи, но вместе с программой использовался специальный девайс.
Возвращаясь к твоему вопросу, по деньгам где-то от 20-25 и выше. Ну и сроки, от 3-х недель и выше.
P.S. может тебе проще готовый девайс купить Ибо если тебе нужна ОЧЕНЬ корректная работа, то тебе нужна более качественная аппаратура для отслеживания движения и вэб-камеры будет маловато. [Ответ]
потный 08:31 17.05.2012
Здраствуйте. Я, Кирилл. Хотел бы чтобы вы сделали программу, суть такова: с помощью проектора выводится изображение на стену.Так же есть web камера направленная на стену, можно грабить корованы. Нужно реализовать управление указателя мышки в windows с помощью лазерной указки(желательно красной и зелёной).И это всё должно работать очень корректно, с сглаживанием.Желательно использование компонента VideoGraber и TQuickPixels.
P.S. Я джва года хочу такую программу.
))))))))))))) [Ответ]
Hopkroft 08:37 17.05.2012
потный, в период сессии ещё не такие задачи можно встретить. Плюс у кого-то диплом "горит". Так что ограбление караванов ещё впереди =) [Ответ]
aerin 12:52 17.05.2012
Тоже мне проблема.
Калибрация начало. (Пустой экран, с направленным на него лазером). Искаем максимальное значение яркости и от него во все стороны тупо ищем границу, т.е. резкий перепад яркости. Запоминаем размер пятна с максимальным значением яркости. Делаем несколько итераций для усреднения. Конец калибрации.
Т.к. лазер заведомо ярче отображаемого контента, то тупо ищем то, что нашли во время калибрации. С функцией сравнения областей надо поэкспериментировать, это да. Если пятно лазера нашли, то перемещаем мышь в новую точку, не нашли - отображаем, где была. Перемещать в новую точку можно скачком или плавно, скажем сплайном, будет тормозно, зато эффектно
Работать будет мягко скажем хреново, но реализуемо за "максимум неделю" и для сдачи курсовой достаточно.
[Ответ]
Hopkroft 13:22 17.05.2012

Сообщение от aerin:
Тоже мне проблема.
Калибрация начало. (Пустой экран, с направленным на него лазером). Искаем максимальное значение яркости и от него во все стороны тупо ищем границу, т.е. резкий перепад яркости. Запоминаем размер пятна с максимальным значением яркости. Делаем несколько итераций для усреднения. Конец калибрации.

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

Сообщение от aerin:
С функцией сравнения областей надо поэкспериментировать, это да.

А это время, плюс как ты будешь щелчок мышки или перетаскивание папки с места на места? И это по идее самое простое

Сообщение от aerin:
Работать будет мягко скажем хреново, но реализуемо за "максимум неделю" и для сдачи курсовой достаточно.

За сколько ты готов "хреново" работать в течении недели?
[Ответ]
Spectator 13:23 17.05.2012

Сообщение от aerin:
Тоже мне проблема.

Свежо предание... Алгоритмически задача несложная. Практически реализовать это так чтобы скорость обновления была хотя бы чаще чем раз в минуту - это надо будет постараться еще. [Ответ]
aerin 14:36 17.05.2012

Сообщение от Hopkroft:
Метод хороший но не подойдёт. Ты точно должен знать где у тебя заканчивается твой виртуальный экран.

Зачем? Это задача позиционирования веб-камеры. Вспомните, как работает ручная установка баланса белого у цифровых камер, пользователю предлагается направить камеру на однотонный серый объект, занимающий всю площадь кадра.

Сообщение от Hopkroft:
В самой винде рисуешь в углах экрана(от левого верхнего до левого нижнего, по часвой стрелке, кружочки) и предлагаешь пользователю навести на них указку. После того как он наводит указку. Жмёшь кнопку что-бы программа считала координаты виртуального экрана. По крайней мере в спец. софтинах я это видел.

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

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

Тогда изначально надо ставить вопрос по другому - это коммерческий софт? Если да, дискутировать без ТЗ и бюджета бессмысленно. Насколько я понимаю, это студенческая поделуха - на один раз показать. Отсюда и мои выкладки.

Сообщение от Hopkroft:
А это время, плюс как ты будешь щелчок мышки или перетаскивание папки с места на места? И это по идее самое простое

Лазер - это маскимум в одном красном или зеленом канале , при мизерных значениях в остальных. Это для предварительной фильтрации достаточно сильное условие.

Сообщение от Hopkroft:
За сколько ты готов "хреново" работать в течении недели?

Я где-то писал, что мне интересна халтура? У меня нормальная работа, и я сомневаюсь, что какой-то студент может предложить мне достаточную сумму, чтоб я на какое-то время на нее забил Скорее это должна быть очень интересная задача.

Сообщение от Spectator:
Свежо предание... Алгоритмически задача несложная. Практически реализовать это так чтобы скорость обновления была хотя бы чаще чем раз в минуту - это надо будет постараться еще.

Да ладно, минуты. Я ж с самого начала писал, грубо ищем по яркости, не нашли - считаем нету лазера и курсор оставляем на месте.
[Ответ]
Hopkroft 14:56 17.05.2012

Сообщение от aerin:
Зачем? Это задача позиционирования веб-камеры.

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

Сообщение от aerin:
Я где-то писал, что мне интересна халтура?

Мне стало интересно за сколько бы взялся.

Лично я считаю что это тема диплома, так что особо с задачи не заработаешь. Проще какую-нибудь фигню сваять по типу "показывала видимость работы". [Ответ]
aerin 15:01 17.05.2012

Сообщение от Hopkroft:
Проще какую-нибудь фигню сваять по типу "показывала видимость работы".

О чем и речь [Ответ]
SravenS 21:26 17.05.2012
aerin, Возьметесь сделать ?Не нужно что бы было прям "идеально".Как уже все догадались это для курсовой.
И насчёт << а и открытие/закрытие, перемещение элементов это тоже временя.
Потому-что придётся придумывать, систему по которой каким-то образом только при помощи светящейся точки реализовывать кучу привычных действий.>> -это не нужно реализовывать.
Если возьметесь то какая цена вопроса? [Ответ]
silly 21:37 17.05.2012

Сообщение от Spectator:
скорость обновления была хотя бы чаще чем раз в минуту - это надо будет постараться еще.

Опять за свое? Это даже не преждевременная оптимизация. [Ответ]
Hopkroft 21:59 17.05.2012

Сообщение от SravenS:
Если возьметесь то какая цена вопроса?

Ты для начала выложи всё что хочешь получить от программы а потом уже и цена вопроса будет
Т.к. то что в начале написал это сложно. Теперь задачу упростил, и точность уже не важна, то это меняет дело.
Напиши что ты хочешь от неё увидеть. И тогда цена вопроса будет.
[Ответ]
Spectator 23:42 17.05.2012

Сообщение от silly:
Опять за свое? Это даже не преждевременная оптимизация.

При чем тут моё? Ты объем данных оцени. Подумай - сколько здесь циклов будет вложенных. Я такие вещи вполне в уме прикинуть способен, потому и говорю.
Моя склонность к оптимизации тут даже рядом не при чем, оптимизировать надо адекватные, готовые и конкретные алгоритмы.
Здесь совсем другое, так что ты не по адресу.
[Ответ]
SravenS 08:13 18.05.2012
Нужно что бы указатель мышки двигался относительно лазеру.(только двигался!больше не чего не надо)Просто анализируя изображение с веб камеры нужно перемещать мышкой в windows.Очень хорошие компоненты (VideoGraber и TQuickPixels) поэтому желательна их использование.И это для курсовой!(идеально не нужно) [Ответ]
Hopkroft 09:35 18.05.2012

Сообщение от SravenS:
Нужно что бы указатель мышки двигался относительно лазеру.(только двигался!больше не чего не надо)Просто анализируя изображение с веб камеры нужно перемещать мышкой в windows.Очень хорошие компоненты (VideoGraber и TQuickPixels) поэтому желательна их использование.И это для курсовой!(идеально не нужно)

Если только что-бы двигалось, то в принципе не сложно. Я вчера нашёл базовую информацию о том как получить картинку. Пример рабочий, осталось прикрутить то как он будет экран определять, и поиск пятна от лазера на картинке.
Но времени сейчас нету, так что не возмусь
P.S. выложи ссылки на компоненты.
[Ответ]
Spectator 10:37 18.05.2012

Сообщение от SravenS:
Просто анализируя изображение с веб камеры нужно перемещать мышкой в windows.

"Просто анализируя изображение" - это на один проход нужно обработать к примеру 800*600=480 000 байт информации. С условием того что мы ищем не одну точку, а группу, задача усложняется в разы. Это далеко и совсем не "просто". Адекватной скорости достичь можно только очень и очень постаравшись. И это будут совсем не те деньги, которые обычно платят за курсовые.
В срочном порядке меняйте тему курсовой. И по возможности научного руководителя, потому что не понимать такие вещи - это надо в программировании быть полным нулем. [Ответ]
aerin 10:58 18.05.2012
Spectator, да не пугайте вы человека: пиндец какой - цикл по всем пикселям экрана. Срочно продавайте свой ZX Spectrum, он немножко устарел... [Ответ]
Spectator 11:04 18.05.2012

Сообщение от aerin:
Spectator, да не пугайте вы человека: пиндец какой - цикл по всем пикселям экрана. Срочно продавайте свой ZX Spectrum, он немножко устарел...

Я не пугаю, я констатирую факт. Даже тупой цикл по всем пикселям экрана (с условием того что их еще надо выдернуть из видеопамяти, а это даже через DirectX не так то быстро) в реалтайм не выйдет. А тут задача гораздо сложнее. Ты сначала попробуй, а потом будешь рассуждать. [Ответ]
aerin 11:13 18.05.2012
Spectator, при чем тут видеопамять, если мы работаем с данными от устройства? [Ответ]
aerin 11:25 18.05.2012
Spectator, да, и еще, откройте любой видеоплеер и вы увидите внушительный список фильтров постобработки, не поверите, но они работают со всеми пикселями экране в риалтайме, и их может быть сразу несколько. [Ответ]
Spectator 11:47 18.05.2012

Сообщение от aerin:
Spectator, при чем тут видеопамять, если мы работаем с данными от устройства?

Ок. тут я просто о своем задумался.

Сообщение от aerin:
Spectator, да, и еще, откройте любой видеоплеер и вы увидите внушительный список фильтров постобработки, не поверите, но они работают со всеми пикселями экране в риалтайме, и их может быть сразу несколько.

http://ru.wikipedia.org/wiki/%D8%E5%E9%E4%E5%F0 [Ответ]
aerin 12:01 18.05.2012
Spectator, совершенно не обязательно это пиксельные шейдеры, чаще удобнее оперировать видеопотоком без привязки к видеокарте. [Ответ]
SravenS 13:42 18.05.2012
Hopkroft, компонент TVideoGraber очень хорошо работает с веб камерами и там получение картинки в 2 строчки.
И времени вообще нету?мне нужно к 25 мая [Ответ]
Hopkroft 21:24 18.05.2012

Сообщение от SravenS:
Hopkroft, компонент TVideoGraber очень хорошо работает с веб камерами и там получение картинки в 2 строчки.
И времени вообще нету?мне нужно к 25 мая

А где ссылка на него? Если на выходных будет время, попробую сделать. БОльше времени у меня нету [Ответ]
Spectator 22:02 18.05.2012
Ismail, предупреждение [Ответ]
SravenS 22:20 19.05.2012
Hopkroft, ссылки нету. напишите свою почту.я вышлю [Ответ]
Вверх