Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.01.2015, 14:33   #11
Vomifor
Новичок
Джуниор
 
Регистрация: 06.01.2015
Сообщений: 6
По умолчанию

Мне не нужны звезды - это в качестве примера. Я не могу склеить в один кадр видеопоток с веб-камеры. Сделать программную имитацию светографики.
Vomifor вне форума Ответить с цитированием
Старый 08.01.2015, 16:17   #12
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,814
По умолчанию

тебе нужен алгоритм наложения одного кадра на другой, чтоб светлые участки накладывались, а тёмные отсекались?
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 08.01.2015, 16:34   #13
WinCoder
Заблокирован
 
Регистрация: 24.11.2014
Сообщений: 721
По умолчанию

Ну да. Как я понял, затык в том, что человек накладывает новые кадры поверх старых, тем самым уничтожая предыдущую информацию вместо того, что суммировать пиксели.
WinCoder вне форума Ответить с цитированием
Старый 08.01.2015, 16:36   #14
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
тебе нужен алгоритм наложения одного кадра на другой
Ему ботаны нужны
Цитата:
Одним словом - "ботаны"
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 08.01.2015, 17:23   #15
Vomifor
Новичок
Джуниор
 
Регистрация: 06.01.2015
Сообщений: 6
По умолчанию NetSpace, WinCder

Да. Я не прошу готовый код - направление куда "копать". Есть ли стандартные процедуры, функции и пр. в Делфи? Понимаю, что надо работать с пикселами.
Vomifor вне форума Ответить с цитированием
Старый 08.01.2015, 17:30   #16
WinCoder
Заблокирован
 
Регистрация: 24.11.2014
Сообщений: 721
По умолчанию

Vomifor Ответы в теме уже должны были дать ответ "куда копать". Неужели не дали?
WinCoder вне форума Ответить с цитированием
Старый 08.01.2015, 18:34   #17
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,814
По умолчанию

я начинал работу - попиксельную обработку фотографий. но столкнулся с тем, что когда темнеет - звёзды ещё не видны и программа запоминает светлый синий участок неба, а не звезду. потом столкнулся с тем, что шумы и случайные блики тоже оказываются ненужными на фото. короче, снимать надо тёмной ночью, в лесу, в дали от людей и искусственного света.
а функции использовал вот такие, изголялся:
Код:
 r:=0;
   g:=0;
   b:=0;
   //считаем cредние показатели RGB в квадрате размером rz
   for p:=k1 to k1+rz-1 do for q:=k2 to k2+rz-1 do
   begin
      r:=r+GetRValue(MyBmp.Canvas.Pixels[p,q]);
      g:=g+GetGValue(MyBmp.Canvas.Pixels[p,q]);
      b:=b+GetBValue(MyBmp.Canvas.Pixels[p,q]);
   end;
   r:=Round(r/(rz*rz));//вот они, средние значения цветов
   g:=Round(g/(rz*rz));
   b:=Round(b/(rz*rz));
   //вот тут будем запоминать всё светлые пиксели, напоминающие звёзды
   for p:=k1 to k1+rz-1 do for q:=k2 to k2+rz-1 do
   if(r+sv<GetRValue(MyBmp.Canvas.Pixels[p,q]))and(g+sv<GetGValue(MyBmp.Canvas.Pixels[p,q]))
   and(b+sv<GetBValue(MyBmp.Canvas.Pixels[p,q]))then
   begin
      rs[p,q]:=GetRValue(MyBmp.Canvas.Pixels[p,q]);
      gs[p,q]:=GetGValue(MyBmp.Canvas.Pixels[p,q]);
      bs[p,q]:=GetBValue(MyBmp.Canvas.Pixels[p,q]);
   end;
но процессор грузится на 52-55% при такой детальной обработке фотографий
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 08.01.2015, 18:40   #18
WinCoder
Заблокирован
 
Регистрация: 24.11.2014
Сообщений: 721
По умолчанию

Чтоб не грузился процессор, увеличиваем задержку между кадрами. Да она собственно короткая и не нужна.
WinCoder вне форума Ответить с цитированием
Старый 08.01.2015, 18:48   #19
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,814
По умолчанию

так это у меня уже отдельные кадры. а если перед этой процедурой ещё и разбор видео на отдельные кадры присобачить, а после этого ещё и сбор снова в цельное видео, то, думается, загрузка будет 100%...
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 08.01.2015, 21:02   #20
WinCoder
Заблокирован
 
Регистрация: 24.11.2014
Сообщений: 721
По умолчанию

Смотри. Допустим нам нужен 1 кадр в минуту. Раз в минуту запустили видеопоток, дёрнули с него кадр, наложили на заготовку. Всё. Ждём минуту с нулевой нагрузкой на ЦП.
WinCoder вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
си работа с веб камерой proef Помощь студентам 1 28.08.2013 22:47
построить карту звездного неба на C# Svetlanka_ C# (си шарп) 16 30.08.2011 16:47
Помогите с веб камерой Karp_13 Компьютерное железо 0 28.07.2009 13:53