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

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

03.04.2007, 01:18. Показов 72040. Ответов 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
9 / 9 / 1
Регистрация: 03.02.2007
Сообщений: 3
25.05.2007, 03:36
Лучший ответ Сообщение было отмечено как решение

Решение

Создание видеоокна и открытие источника видеосигнала:
C++
1
2
3
hWndC=capCreateCaptureWindow("",WS_CHILD, this->Left, this->Top, this->Width, this->Height, this->Handle, 11011);
capDriverConnect (hWndC,0);
Timer1->Enabled=true;
Обработчик получения видео с источника по таймеру:
C++
1
2
3
capGrabFrame(hWndC);
if(capEditCopy(hWndC))
Image1->Picture->LoadFromClipboardFormat(CF_BITMAP, Clipboard()->GetAsHandle(CF_BITMAP),0);
Закрытие источника сигнала (если этого не сделать, то при следующему обращению к драйверу камеры до перезагрузки системы, система выдаст, что драйвер уже используется):
C++
1
capDriverDisconnect(hWndC);
9
olllegic
31.05.2007, 19:03
Спасибо большое
27 / 25 / 5
Регистрация: 22.04.2010
Сообщений: 772
01.02.2011, 20:59
Сделал все, что здесь описано, происходит запрос выбора вэбкамеры, после которого в if
C++
1
2
3
4
if(capEditCopy(hWndC))
        {
                Image1->Picture->LoadFromClipboardFormat(CF_BITMAP,Clipboard()->GetAsHandle(CF_BITMAP),0);
        }
при пошаговом просмотре указатель никогда не попадает....
1
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
03.02.2011, 00:25
Добрый день. Для начинающих нельзя подробней, ато компилятор ругается...
плиз...
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
03.02.2011, 00:42
Лучший ответ Сообщение было отмечено как решение

Решение

Как ругается ? Обыкновенным матом, или пробует чего сообщить ?
3
 Аватар для Vlad_IT
1452 / 360 / 61
Регистрация: 03.04.2010
Сообщений: 2,096
03.02.2011, 00:58
А как для шпиона? Это нельзя на форуме обсуждать. Да и как? Если почти во всех новых Веб камерах встраивают светодиод и в том случае если камера работает то он загорается, а значит и жертва узнает что за ней следят и выключает камеру. Может я ошибаюсь
0
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
03.02.2011, 01:27
Вот такие ошибки выдает компилятор.
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
03.02.2011, 01:37
И не надо каждый раз делать скрин ошибок - достаточно в окне сообщений выделить строки с ошибками и нажать CTRL+C, или в контекстном меню выбрать Copy . Быстрее, да и читать на форуме удобнее.

Можно попробовать #include <vfw.h>.
1
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
03.02.2011, 02:03
Количество ошибок уменьшилось.
Сори, вопрос не по теме (LK, вы мне какие книги по BuilderC++ и просто С++, посоветуете изучить)...ато уже стыдно...
[C++ Er,ror] Unit1.cpp(16): E2451 Undefined symbol 'hWndC'
[C++ Error] Unit1.cpp(24): E2451 Undefined symbol 'hWndC'
[C++ Error] Unit1.cpp(26): E2268 Call to undefined function 'Clipboard'
[C++ Error] Unit1.cpp(26): E2288 Pointer to structure required on left side of -> or ->*
[C++ Error] Unit1.cpp(31): E2451 Undefined symbol 'hWndC'
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
03.02.2011, 02:26
сам начинал с C++ для "чайников" (Стефан Р. Дэвис) и Архангельский, Программирование в С++ Builder 6 (есть поновее , версии Билдера до RAD 2009: Программирование в С++ Builder, седьмое издание) .

Добавлено через 3 минуты
hWndC - это, скорее всего,
C++
1
2
TForm1 *Form1;
HWND hWndC;
Добавлено через 3 минуты
И, подозреваю, Вы не сделали
C++
1
2
3
#include <vcl.h>
#include <Clipbrd.hpp> // <-----------
#pragma hdrstop
Добавлено через 10 минут
подобное
[C++ Error] Unit1.cpp(26): E2288 Pointer to structure required on left side of -> or ->*
получится, если в выражении написать, например
C++
1
str.c_str()
вместо
C++
1
AnsiString(str).c_str()
, ищите .
1
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
03.02.2011, 02:29
Все работает, спасибо!
Книжку тоже скачал, спасибо!
0
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
04.02.2011, 02:59
Лучший ответ Сообщение было отмечено как решение

Решение

Вот такая у меня получилась незамыславатая форма...
Спасибо всем кто помог ее сделать...
Может кому и пригодится...
Вложения
Тип файла: rar CAMERA.rar (466.7 Кб, 1494 просмотров)
5
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
04.02.2011, 03:07
У меня нет ВСВ6 - сделайте ЕХЕ , чтобы можно было запускать на другом компутере Компиляция программы под С++ Builder, чтобы работала на других компьютерах .
Гм, скомпилировалось .
Хорошо бы вырабатывать у себя привычку делать подсказки (Hint) , в данном случае - для кнопок.
2
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
04.02.2011, 03:17
Добрый вечер. В архиве все файлы проекта включая Project.exe. Кстати вопрос-почему изоброжение на небольшой экран выходит не полностью, а когда растяну форму и image1 тогда все нормально, может чего в инспекторе объектов "поднаболтать"?
А звук с микрофона компа, паралельно сложно добавить?
А потом это все в видеоформате (мр4) сохранить?
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
04.02.2011, 03:23
У меня нет камеры - проверить не могу, но, с большой долей вероятности - потому, что вот здесь
C++
1
2
3
4
5
6
7
8
9
hWndC=capCreateCaptureWindow("",WS_CHILD, this->Left,
                                          this->Top,
                                          this->Width,
                                          this->Height,
                                          this->Handle,
                                          11011);
 
capDriverConnect (hWndC,0);
Timer1->Enabled=true;
вы указываете относительно формы - на форму указывает this , эквивалентно Form1, попробуйте так:
C++
1
2
3
4
5
6
7
8
hWndC=capCreateCaptureWindow("",WS_CHILD, this->Left,
                                          this->Top,
                                          DBImage1->Width,
                                          DBImage1->Height,
                                          this->Handle,
                                          11011);
capDriverConnect (hWndC,0);
Timer1->Enabled=true;
или DBImage2.
1
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
04.02.2011, 03:36
Скомпилировал немного лучше стало но всеравно, видна только часть.
А еще вопрос по этой теме: Изображение можно перевернуть чтоб получился эфект зеркала?

не по теме: у меня есть 2007 билдер, который уже radstudio типа 57000 рублей стоит, мне он не понравился, пока болемение освою С++ даже в шестом билдере можно сотворить хорошую программу.
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
04.02.2011, 04:46
Цитата Сообщение от Samrisbe Посмотреть сообщение
1. Скомпилировал немного лучше стало но всеравно, видна только часть.
2. А еще вопрос по этой теме: Изображение можно перевернуть чтоб получился эфект зеркала?
3. у меня есть 2007 билдер, который уже radstudio типа 57000 рублей стоит, мне он не понравился, пока болемение освою С++
4. даже в шестом билдере можно сотворить хорошую программу.
1. Поиграйте с this->Width, this->Height, вместо которых можете спокойно указать числа 300, 300 и т.д., "подогнав" изображение под нужный размер
2. Да, зачем ?
3. Забудьте 2007 и пробуйте RAD XE
4. В ВСВ6 всегда было "можно сотворить хорошую программу"

И еще я не понимаю, для чего там DBImage , если есть просто Image ?

п.2.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// Горизонтальное отражение
Image1->Canvas->CopyRect(Rect(0, 0,
                         Image1->Width,
                         Image1->Height),
                         Image1->Canvas,
                         Rect(Image1->Width, 0, 0,
                         Image1->Height));
// Вертикальное отражение
Image1->Canvas->CopyRect(Rect(0, 0,
                         Image1->Width,
                         Image1->Height),
                         Image1->Canvas,
                         Rect(0, Image1->Height,
                         Image1->Width, 0));
1
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
04.02.2011, 06:28
DВImage мне внешне больше понравился изза стиля границ.
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
04.02.2011, 13:18
Отсительно размера - еще можно попробовать в OnFormCreate (или в инспекторе объектов) указать
C++
1
DBImage2->Strech = true;
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.02.2011, 13:18
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 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-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru