Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.91/335: Рейтинг темы: голосов - 335, средняя оценка - 4.91
7 / 2 / 0
Регистрация: 03.04.2007
Сообщений: 4

Как получить изображение с веб-камеры

03.04.2007, 01:18. Показов 72034. Ответов 119
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите, как получить изображение с веб-камеры через билдер, а то я хочу сделать веб-камерный шпион, но не знаю как.
2
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.04.2007, 01:18
Ответы с готовыми решениями:

Изображение с веб камеры
Я написал программу которая снимает изображение с веб камеры!!! Возможно переписать мой код таким образом что бы виндовс не запрашивал с...

Изображение с Web-камеры
Привет, ребят... не гоните в другие темы... я согласен, что в этой теме: https://www.cyberforum.ru/cpp-builder/thread1737.html Всё...

Снимок с веб камеры
как снять в билдер с++ снимок с веб камеры? в компонент TImage к примеру.

119
Фрилансер
49 / 34 / 7
Регистрация: 12.01.2010
Сообщений: 186
Записей в блоге: 1
26.03.2011, 13:01
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Vl_nik Посмотреть сообщение
попробую переписать код на Visuall C++ поскольку я пишу на нем
Погугли! ... для Visuall есть способ пороще ...
0
0 / 0 / 0
Регистрация: 24.04.2015
Сообщений: 14
16.09.2011, 04:32
Хочу сначала поблагодарить Elizium и LK за прекрасно развитую тему. У меня вопрос такого характера. У меня есть ТВ-тюнер, а у него есть видео-вход. С него я могу получить картинку таким же способом ? Или как мне поступить иначе? Дело в том что я написать программу для управления маленьким самолетом. Видео поступает через видеовход тюнера, как мне вывести картинку?

Добавлено через 50 минут
Следующий вопрос. После запуска программы, вне Borlanda, постоянно выскакивает сообщение "Cannot open Clipboard"
0
 Аватар для __bool
288 / 229 / 27
Регистрация: 13.06.2010
Сообщений: 744
30.01.2012, 04:11
Кто-нибудь в курсе, почему, если поставить Interval таймера на 45(почти 24 кадра/сек),
то периодически происходит ошибка Ошибка ClipBoard: Отказано в доступе?
Нельзя так часто обращаться?

Добавлено через 18 минут
Прога отработала 10-15 минут и теперь при запуске всплывает окошко выбора устройства записи, и после выбора изображения нет.

Добавлено через 1 минуту
Этот вариант нужно доработать? Если да, то что тут несовершенно?
или просто не рабочий?

Добавлено через 2 минуты
Код-то всего 20 строк, что очень радует..
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
__fastcall TFormMain::TFormMain(TComponent* Owner)
    : TForm(Owner)
{
    hWndC=capCreateCaptureWindow(L"",WS_CHILD,  this->Left,
    this->Top,
    Image1->Width,
    Image1->Height,
    this->Handle,
    11011);capDriverConnect (hWndC,0);
}
void __fastcall TFormMain::Timer1Timer(TObject *Sender)
{
    capGrabFrame(hWndC);
    if(capEditCopy(hWndC))
    Image1->Picture->LoadFromClipboardFormat(CF_BITMAP, Clipboard()->GetAsHandle(CF_BITMAP),0);
}
void __fastcall TFormMain::FormClose(TObject *Sender, TCloseAction &Action)
{
    capDriverDisconnect(hWndC);
}
1
4 / 4 / 0
Регистрация: 14.12.2010
Сообщений: 7
30.01.2012, 04:13
установил значение Interval равно 41 (24 кадра/сек). 5 минут камера работала, ошибок не возникало.
может у Вас там памяти иногда не хватает или сама камера не позволяет чаще обращаться
0
 Аватар для __bool
288 / 229 / 27
Регистрация: 13.06.2010
Сообщений: 744
30.01.2012, 16:36
Цитата Сообщение от TswetkOFF Посмотреть сообщение
5 минут камера работала
Ну так пусть дольше поработает.
1
4 / 4 / 0
Регистрация: 14.12.2010
Сообщений: 7
31.01.2012, 00:00
Цитата Сообщение от __bool Посмотреть сообщение
Ну так пусть дольше поработает.
время работы 105 минут, интервал = 41
в это время и скрины сохранял и записывал видео... все в порядке

проект компилирован в Builder 2009... может у Вас в настройках проекта что-то... попробуйте тот exe на другой машине запустить
0
Волшебник
 Аватар для Rapsod
65 / 64 / 7
Регистрация: 21.11.2009
Сообщений: 319
23.09.2012, 17:56
Всем привет!
В методе снятия изображения с веб-камеры, используется буфер обмена.

C++
1
2
3
    capGrabFrame(hWndC);
    if(capEditCopy(hWndC))
    Image1->Picture->LoadFromClipboardFormat(CF_BITMAP, Clipboard()->GetAsHandle(CF_BITMAP),0);
Как обойти это? Дело в том что, если вы работаете в другой программе (допустим MS Word), и вставляете скопированный текст, то большая вероятность того что вставиться снимок с веб-камеры.
Подскажите пожалуйста, как можно снимок с камеры, сразу поместить в Bitmap не загружая его в буфер обмена?
C++
1
Graphics::TBitmap  * b1 = new Graphics::TBitmap,
Есть варианты с использованием технологий OpenCV, но этот вариант на данный момент не подходит.

Заранее благодарю за помощь!!!
0
 Аватар для BRcr
4043 / 2333 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
23.09.2012, 18:37
Можно сохранять в файл с помощью capFileSaveDIB() и грузить из него. Не шибко эффективно, наверняка и получше метод есть.
0
Волшебник
 Аватар для Rapsod
65 / 64 / 7
Регистрация: 21.11.2009
Сообщений: 319
23.09.2012, 20:49
Цитата Сообщение от BRcr Посмотреть сообщение
Можно сохранять в файл с помощью capFileSaveDIB() и грузить из него. Не шибко эффективно, наверняка и получше метод есть.
Нууу проблема с буфером решена, но появляется новая ещё более значительная проблема, так как количество кадров в секунду составляет от 15 до 30 и это все должно писаться на винчестер, потом считываться и удалятся перед созданием нового файла. Этот вариант к сожалению не подходит.

Есть ещё варианты, чтобы не использовать буфер обмена или защитить его от других программ?
0
Волшебник
 Аватар для Rapsod
65 / 64 / 7
Регистрация: 21.11.2009
Сообщений: 319
25.09.2012, 23:31
Неужели нету больше вариантов, чтобы не использовать системный буфер обмена???
0
Волшебник
 Аватар для Rapsod
65 / 64 / 7
Регистрация: 21.11.2009
Сообщений: 319
27.09.2012, 09:05
А можно ли сразу снимок с камеры загрузить в Graphics::TBitmap не используя буфер обмена?
0
 Аватар для gumi250
435 / 402 / 57
Регистрация: 06.02.2012
Сообщений: 1,384
27.09.2012, 09:18
Лучший ответ Сообщение было отмечено как решение

Решение

Может будет полезно.
http://www.ampersant.ru/glaz/
Там есть исходники программы на дельфи.
3
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
03.12.2012, 07:40
Цитата Сообщение от __bool Посмотреть сообщение
Кто-нибудь в курсе, почему, если поставить Interval таймера на 45(почти 24 кадра/сек),
то периодически происходит ошибка Ошибка ClipBoard: Отказано в доступе?
Нельзя так часто обращаться?
Добавлено через 18 минут
Прога отработала 10-15 минут и теперь при запуске всплывает окошко выбора устройства записи, и после выбора изображения нет.
Добавлено через 1 минуту
Этот вариант нужно доработать? Если да, то что тут несовершенно?
или просто не рабочий?
Добавлено через 2 минуты
Код-то всего 20 строк, что очень радует..

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
__fastcall TFormMain::TFormMain(TComponent* Owner)
 : TForm(Owner)
{
 hWndC=capCreateCaptureWindow(L"",WS_CHILD, this->Left,
 this->Top,
 Image1->Width,
 Image1->Height,
 this->Handle,
 11011);capDriverConnect (hWndC,0);
}
void __fastcall TFormMain::Timer1Timer(TObject *Sender)
{
 capGrabFrame(hWndC);
 if(capEditCopy(hWndC))
 Image1->Picture->LoadFromClipboardFormat(CF_BITMAP, Clipboard()->GetAsHandle(CF_BITMAP),0);
}
void __fastcall TFormMain::FormClose(TObject *Sender, TCloseAction &Action)
{
 capDriverDisconnect(hWndC);
}
Блин почти тоже... сначала все работало, а после второго запуска программы появилось окошко с запросом драйвера (при первом запуске не вылазило) и после него фиг - возвращает ошибку ф-ция
C++
1
 capEditCopy(hWndC)
0
Модератор
 Аватар для vxg
3409 / 2180 / 354
Регистрация: 13.01.2012
Сообщений: 8,460
04.12.2012, 12:42
простите если что не так скажу, а пробовали capPreview? лить картинку на форму, а потом через BitBlt?
0
72 / 72 / 5
Регистрация: 03.11.2009
Сообщений: 492
07.01.2013, 14:39
gumi250, http://www.ampersant.ru/glaz/ Отличная программка ZORKIY. Решил ее переделать с Delhi в Builder

Нарыл еще одну программку dscap с кодом Delhi и с не полным кодом Builder где отсутствует #include "VCapStrings.hpp". К этому вопросу решил подойти таким способом: Взял файл VCapStrings.pas и почти переделал его, загвоздка с паскалевским Массивом
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
unit VCapStrings;
 
interface
 
uses VCap;
 
const
  DialogTitles: array [TCaptureDialog] of string = (
    'Video Format',         // VFORMAT,
    'Video Source',         // VSOURCE,
    'Video Display',            // VDISPLAY,
    'Video Capture Filter', // VCAPTURE,
    'Video Crossbar',           // VCROSSBAR,
    'TV Tuner',                 // TVTUNER,
    'Audio Capture Filter', // ACAPTURE,
    'Audio Crossbar',           // ACROSSBAR,
    'TV Audio',                 // TVAUDIO,
    'Video Capture Pin',    // VCAPTURE_PIN,
    'Video Preview Pin',    // VPREVIEW_PIN,
    'Audio Capture Pin',        // ACAPTURE_PIN
    'Video Compressor',         // VCOMPRESSOR,
    'Audio Compressor'          // ACOMPRESSOR,
  );
Смотрел и не понял Что это? TCaptureDialog и как это применить в Buildere
C++
1
2
const AnsiString DialogTitles[ TCaptureDialog]
const AnsiString DialogTitles[ ??? ]
Вложения
Тип файла: zip dscap.zip (601.3 Кб, 61 просмотров)
0
844 / 739 / 342
Регистрация: 22.09.2012
Сообщений: 5,034
08.01.2013, 22:51
Не получилось, видел я такой исходник на делфи работает, а у кого на билдер исходничок есть?
0
72 / 72 / 5
Регистрация: 03.11.2009
Сообщений: 492
08.01.2013, 22:56
NIKOLAYY,
а у кого на билдер исходничок есть?
А ты скачай dscap.zip и открой паку demo.cpp, там и есть исходничок.
0
844 / 739 / 342
Регистрация: 22.09.2012
Сообщений: 5,034
08.01.2013, 23:36
Garic
vcl60.bpl
Скачал чет у меня там ошибку выкинуло, и еще тут на прошлых страницах нашел рар архивы скачивал и все они пишут у вас нету то одного то друго файла. Скачиваю я эти файлы с инета которых нехватает пишет у вас нету уже тока другого файла и так бесконечно .
Я качаю компом а переношу на нетбук флешкой чтоб проверить (на компе камеры нету)
Я уже 40 минут туда сюда и обратно в комп...

Добавлено через 2 минуты
Я че забыл сказать тут наверно разные камеры и у всех по разному будет, у кого будет работать у кого нет...
Типа кому как повезет?
0
 Аватар для BRcr
4043 / 2333 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
08.01.2013, 23:37
Пытаешься просто запустить скомпилированный не тобою экзешник?
0
72 / 72 / 5
Регистрация: 03.11.2009
Сообщений: 492
08.01.2013, 23:41
NIKOLAYY,
То что я выложил рабочий только exe. остальное надо доводить до ума, что и пытаюсь сделать. У кого есть желание присоединяйтесь. ПВСС
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.01.2013, 23:41
Помогаю со студенческими работами здесь

Снимок с веб-камеры
нашел такой пример, который выводит на окно видео в режиме онлайн с вэб камеры http://pastebin.com/c9LCaLRT (из за ограничения...

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

Захват видео с веб-камеры (C++)
Здравствуйте! Я установил Visual Studio 2015 Community и библиотеку OpenCV 3.1.0 на Windows 10. Потом я написал программу, которая...

Снимок с веб камеры без использования буфера
Всем привет. Такой вопрос: можно ли копировать снимок не в буфер, а например, сразу в поток? capEditCopy(hWndC); ...

Черный экран при снимке с веб камеры
Всем привет. Надыбал такой код и поставил на кнопку: hWndC=capCreateCaptureWindow("",WS_CHILD, this->Left, this->Top,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
100
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru