Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запись скрина в массив, Как записать видео с экрана в массив 
:(
    Опции темы
capr
  Дата 19.10.2005, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 19.10.2005

Репутация: нет
Всего: нет



Уважаемые!
Как представить видео на экране в виде двумерного массива отдельных пикселей по вертикали и горизонтали (или нескольких пикселей) в VB6 , для последующего мат. анализа.
Спасибо .
PM MAIL   Вверх
Exception
Дата 19.10.2005, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 7
Всего: 186



откуда видео? из файла?
Или ты имеешь в виду видеозахват с экрана? конкретнее..
можно по таймеру вызывать принтскрин и сохранять в пикчербоксе..
затем сохранять в массив.. какая задача полностью?
PM   Вверх
capr
Дата 19.10.2005, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 19.10.2005

Репутация: нет
Всего: нет



Захват видео с экрана в массив или с копии кадра уже из PictureBox
Анализ на изменение фрагментов кадра.
PM MAIL   Вверх
Kergan
Дата 19.10.2005, 14:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 20.8.2005

Репутация: 3
Всего: 5



есть такая АПИшка - GetPixel.
Ей передаешь Picture.hwnd и координаты пиксела, она возвращает цвет...
Код

for x = XMIN to XMAX
    for y = YMIN to YMAX
          Massiv(x,y) = GetPixel(HWND,x,y)
    next y
next x

Типа того....
можно и по-другому, через метод Point, но это - быстрее smile
--------------------
Была у меня дурацкая подпись...Я ее убрал, а новую еще не придумал. :(
PM MAIL ICQ   Вверх
capr
Дата 19.10.2005, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 19.10.2005

Репутация: нет
Всего: нет



Спасибо, попробуем

PM MAIL   Вверх
Kergan
Дата 19.10.2005, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 20.8.2005

Репутация: 3
Всего: 5



Кстати, если функция возвращает -1, значит, где-то ашипка...
--------------------
Была у меня дурацкая подпись...Я ее убрал, а новую еще не придумал. :(
PM MAIL ICQ   Вверх
Vach
Дата 19.10.2005, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 304
Регистрация: 17.10.2003
Где: Санкт-Петербург

Репутация: 8
Всего: 18



Чтобы получить скриншот в Picture1 и далее как сказал Kergan
Код
Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
Private Declare Function GetDC Lib "USER32" (ByVal hwnd As Long) As Long

Private Sub Form_Load()
    Picture1.Width = Screen.Width
    Picture1.Height = Screen.Height
    Picture1.AutoRedraw = True
    BitBlt Picture1.hDC, 0, 0, Screen.Width / Screen.TwipsPerPixelX, Screen.Height / Screen.TwipsPerPixelY, GetDC(0), 0, 0, vbSrcCopy
    Picture1.Picture = Picture1.Image
End Sub
Но кажется что всё не про то... откуда "видео" на "экране" берётся?
PM MAIL ICQ   Вверх
Kergan
Дата 19.10.2005, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 20.8.2005

Репутация: 3
Всего: 5



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

Это сообщение отредактировал(а) Kergan - 19.10.2005, 15:19
--------------------
Была у меня дурацкая подпись...Я ее убрал, а новую еще не придумал. :(
PM MAIL ICQ   Вверх
capr
Дата 19.10.2005, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 19.10.2005

Репутация: нет
Всего: нет



Благодарю !
Видео берется из камеры через каптюрную плату или USB .
А возможно ли прямо в массив с участка скрина где окошко другой программы TV-capture или камеры ?
PM MAIL   Вверх
Vach
Дата 19.10.2005, 18:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 304
Регистрация: 17.10.2003
Где: Санкт-Петербург

Репутация: 8
Всего: 18



Вот про то ... Смотри пример.

Это сообщение отредактировал(а) Vach - 19.10.2005, 18:55
PM MAIL ICQ   Вверх
Guest
Дата 19.10.2005, 21:11 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Спасибо, но похоже это не совсем то. Я хотел бы просто брать кадры с любого видеоокна на экране, с видео или каптюр платы, по USB входу или с видеоплейера, и далее обрабатывать массивы пикселей взятых с любого окна на экране. До завтра
  Вверх
Vach
Дата 20.10.2005, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 304
Регистрация: 17.10.2003
Где: Санкт-Петербург

Репутация: 8
Всего: 18



Посмотри пример
"и далее обрабатывать массивы пикселей взятых с любого окна на экране"
Удачи.
PM MAIL ICQ   Вверх
capr
Дата 20.10.2005, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 19.10.2005

Репутация: нет
Всего: нет



Посмотрел. На базе этих двух примеров наверное получиться решить . Последняя программа, UltraSpy - работает через скриншот и сразу видно вместо кино на windows player - черная дыра , а VB capture - захватывает эти данные , но толко с каптюрного железа .
Спасибо, попробуем.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0489 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.