4 / 4 / 0
Регистрация: 28.09.2015
Сообщений: 280
1

Изображение с Web-камеры

02.12.2016, 22:06. Показов 7927. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет, ребят... не гоните в другие темы... я согласен, что в этой теме:
Как получить изображение с веб-камеры
Всё отлично описано и всё есть...
НО!
Я всё сделал, при первом запуске отлично работало без запроса выбора камеры, но после закрытия, при открытии пишет выберете камеру, она одна, пытаюсь выбрать, нажимаю примерить или готово, программа запускается, но изображение не транслируется.
По той ссылке в третьем посту, написано, что нужно писать:
C++
1
capDriverDisconnect(hWndC);
Чтобы драйвер был закрыт и после нового обращения не выдавал ошибку, что драйвер занят и это можно решать перезапуском системы. Я перезапускаю ПК и всё решается, но снова повторяется при втором запуске.
Я так понимаю в моей проблеме эта команда не срабатывает что ли... подскажите пожалуйста...
Вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
//---------------------------------------------------------------------------
#include <vcl.h>
#include <vfw.h>
#pragma hdrstop
#include <Clipbrd.hpp>
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
HWND hWndC;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
hWndC=capCreateCaptureWindow("",WS_CHILD, this->Left,
                                          this->Top,
                                          DBImage1->Width,
                                          DBImage1->Height,
                                          this->Handle,
                                          11011);
capDriverConnect (hWndC,0);
Timer1->Enabled=true;
 
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
capGrabFrame(hWndC);
if(capEditCopy(hWndC))
DBImage1->Picture->LoadFromClipboardFormat(CF_BITMAP, Clipboard()->GetAsHandle(CF_BITMAP),0);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
  capDriverDisconnect(hWndC);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SpeedButton2Click(TObject *Sender)
{
  DBImage1->Visible = false;
  DBImage2->Visible = true;
  SpeedButton2->Enabled = false;
  SpeedButton1->Enabled = true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SpeedButton1Click(TObject *Sender)
{
 DBImage1->Visible = true;
 DBImage2->Visible = false;
  SpeedButton2->Enabled = true;
    SpeedButton1->Enabled = false;
}
//---------------------------------------------------------------------------
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.12.2016, 22:06
Ответы с готовыми решениями:

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

Как получить изображение с веб-камеры
Помогите, как получить изображение с веб-камеры через билдер, а то я хочу сделать веб-камерный...

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

Как отображать изображение с камеры наблюдения на web-странице?
Доброго времени суток, Уважаемы Форумчане! Снова я. Снова с вопросами. Снова за Вашей помощью. ...

14
737 / 527 / 130
Регистрация: 31.05.2013
Сообщений: 2,975
Записей в блоге: 3
02.12.2016, 23:38 2
Эта старая фишка, еще с XP вродь....суть проблемы, что в процессах продолжает висеть что камера запущена, а capDriverDisconnect не отрабатывает как нужно.

Могу предложить след вариант, вычислите какой процесс у вас запускается с камерой...и или при закрытии программы или при открытии смотрите на его наличии и убивайте.
0
4 / 4 / 0
Регистрация: 28.09.2015
Сообщений: 280
03.12.2016, 01:06  [ТС] 3
Dinkin,
Щас я пришёл к выводу, что для достижения моей цели это ни столь важно.
Появился ряд других вопросов. Я упростил тот код.
Подскажи пожалуйста:
1) Что именно мне нужно передавать (какой параметр) через сокеты, если делать клиент-сервер, для отображения видео на серверной части.
2) Как можно скопировать в другую директорию сам файл моей программы вне зависимости, где он находится.
3) Как прописать кодом программу в автозапуск при старте винды.
4) И как можно сделать, чтобы запуск программы был в виде процесса, а сама форма не была видна.
Код на нынешний момент:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
//---------------------------------------------------------------------------
#include <vcl.h>
#include <vfw.h>
#pragma hdrstop
#include <Clipbrd.hpp>
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
HWND hWndC;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
hWndC=capCreateCaptureWindow("",WS_CHILD, this->Left, this->Top, DBImage1->Width, DBImage1->Height, this->Handle, 11011);
capDriverConnect (hWndC,0);
Timer1->Enabled=true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
capGrabFrame(hWndC);
if(capEditCopy(hWndC))
DBImage1->Picture->LoadFromClipboardFormat(CF_BITMAP, Clipboard()->GetAsHandle(CF_BITMAP),0);
}
//---------------------------------------------------------------------------
Нынешний код при запуске открывает форму, в которую транслируется то, что происходит сейчас перед веб-камерой.
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
03.12.2016, 10:32 4
Не используйте буфер обмена.
del
0
4 / 4 / 0
Регистрация: 28.09.2015
Сообщений: 280
03.12.2016, 14:06  [ТС] 5
А по моим вопросам можете подсказать?
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
03.12.2016, 16:15 6
С каких пор ссылки на блоги режутся?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32830 / 21168 / 8147
Регистрация: 22.10.2011
Сообщений: 36,429
Записей в блоге: 8
03.12.2016, 17:38 7
Это не блог, а сайт, рекламой которого ты занимаешься.
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
03.12.2016, 17:42 8
Цитата Сообщение от volvo Посмотреть сообщение
Это не блог, а сайт, рекламой которого ты занимаешься.
Ок, сайт.
(блог это тоже сайт как и форум КЭП!).
Но не форум.

Могу встречно обвинить вас в рекламе кошек с помощью аватаки.
0
4 / 4 / 0
Регистрация: 28.09.2015
Сообщений: 280
03.12.2016, 18:03  [ТС] 9
Мдэээ... спасибо, что "помогли" )
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
03.12.2016, 18:08 10
Лучший ответ Сообщение было отмечено i95-05 как решение

Решение

Цитата Сообщение от i95-05 Посмотреть сообщение
Мдэээ... спасибо, что "помогли" )
Нужно нечто более сложное нежели приведенный код, типа изучать DirectShow, ffmpeg итп.

Добавлено через 4 минуты
Цитата Сообщение от i95-05 Посмотреть сообщение
3) Как прописать кодом программу в автозапуск при старте винды.
Прописать в реестр или создать ярлык в папке Автозагрузка.
Цитата Сообщение от i95-05 Посмотреть сообщение
4) И как можно сделать, чтобы запуск программы был в виде процесса, а сама форма не была видна.
C++
1
2
Application->ShowMainForm= false;
Visible= false;
2
4 / 4 / 0
Регистрация: 28.09.2015
Сообщений: 280
03.12.2016, 18:38  [ТС] 11
Спасибо.
На счёт третьего пункта ты написал, что создать ярлык в папку автозагрузки... это решится тогда вместе с ответом на второй пункт, буду рад если подскажешь, как это реализовать.
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
03.12.2016, 18:43 12
Лучший ответ Сообщение было отмечено i95-05 как решение

Решение

Программно создать ярлык

Папка:

C:\Users\Имя_пользователя\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
2
4 / 4 / 0
Регистрация: 28.09.2015
Сообщений: 280
03.12.2016, 19:19  [ТС] 13
А можно с тобой в скайпе связаться для переписки?
А то тут не очень удобно.

Добавлено через 19 минут
Мне скорее нужно не ярлык сделать, а при запуске файла копирование самого себя в другую папку вне зависимости где он сейчас находится.
И ещё вопросик... как можно прописать путь к этой папке, если не известно имя пользователя:
C:\Users\Имя_пользователя\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
Я щас попробовал в ручную и ярлык в эту папку вставлял и оригинал, после рестарта прога запускалась в обеих случаях.
0
102 / 106 / 62
Регистрация: 19.11.2015
Сообщений: 380
03.12.2016, 19:35 14
Насколько я понимаю, вы пытаетесь создать что-то вредоносное, т.е. скрытно следить за пользователем ПК, а это на форуме запрещено!!!
0
4 / 4 / 0
Регистрация: 28.09.2015
Сообщений: 280
03.12.2016, 21:51  [ТС] 15
Может мне хочется сделать программу для просмотра за тем, кто решит запустить мой пк в моё отсутствие, живя в общаге, такое возможно.
Это скорее защита, а не вредительство.

Добавлено через 1 час 59 минут
Подскажите пожалуйста...
Есть:
C++
1
2
AnsiString q1;
q1 = "C:\123\Project1.exe";
Как сделать:
C++
1
q1 = "C:\\123\\Project1.exe";
Добавлено через 8 минут
Хотя я разобрался.
0
03.12.2016, 21:51
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.12.2016, 21:51
Помогаю со студенческими работами здесь

Как в своей проге показывать изображение с Web камеры???
Мне нужно чтобы изображение с Web камеры поступало на форму (или куда там еще можно?) Все...

Изображение с камеры
Здравствуйте. Как получить изображение с камеры в Unity при нажатии кнопки, заранее спасибо.

Вывести изображение с IP камеры
Есть IP камера,нее есть свой Web интерфейс, нужно подключиться к ней и вывести то, что она снимает...

Изображение с веб-камеры
Задача - получить фото/видео с вебкамеры под windows 7. Желательно готовый пример или хотя бы...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru