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

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

03.04.2007, 01:18. Показов 71594. Ответов 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
3407 / 2178 / 354
Регистрация: 13.01.2012
Сообщений: 8,448
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 Кб, 58 просмотров)
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
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru