Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Работа с юсб веб камерами

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> Работа с юсб веб камерами
Имя
Сообщение << Старые топики   Новые топики >>
Работа с юсб веб камерами - 2007-05-29 12:42:31.226666   
T

Сообщений: 1100
Оценки: 0
Присоединился: 2006-01-14 00:15:36
Как работать с ЮСБ веб камерой(камерами), на вижуал с++, желательно не при помощи Винапи, а на прямую получая данные из юсб порта.
Post #: 1
RE: Работа с юсб веб камерами - 2007-05-29 16:55:30.510000   
halkfild

Сообщений: 286
Оценки: 0
Присоединился: 2006-11-27 18:26:36.310000
ну.. я под билдером получал так

//--------------------------------------------------------------------------- #include &lt;vcl.h&gt; #include &lt;vfw.h&gt; #include &lt;Clipbrd.hpp&gt; #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma link "CSPIN" #pragma resource "*.dfm" TForm1 *Form1; TClipboard *pCB; HWND hWndC; Graphics::TBitmap *Buffer; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { pCB = Clipboard (); Buffer = new Graphics::TBitmap; } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { hWndC = capCreateCaptureWindow ("", WS_CHILD, this-&gt;Left, this-&gt;Top, this-&gt;Width, this-&gt;Height, this-&gt;Handle, 11011); capDriverConnect (hWndC, 0); Timer1-&gt;Interval = cseTime-&gt;Value; Timer1-&gt;Enabled = true; Canvas-&gt;Pen-&gt;Width = 4; Canvas-&gt;Pen-&gt;Color = clRed; Caption = IntToStr (Buffer-&gt;Width) + " : " + IntToStr (Buffer-&gt;Height); } //--------------------------------------------------------------------------- void __fastcall TForm1::Timer1Timer(TObject *Sender) { capGrabFrame (hWndC); if (capEditCopy (hWndC)) { Buffer-&gt;LoadFromClipboardFormat(CF_BITMAP, pCB-&gt;GetAsHandle (CF_BITMAP), 0); // Canvas-&gt;Draw (10, 10, Buffer); int Hmin; int x = 10, y = 10; int z=0; for (int j = 0; j &lt; Buffer-&gt;Height; j++) { for (int i = 0; i &lt; Buffer-&gt;Width; i++) { if (i == 0 && j == 0) Hmin = (int) Buffer-&gt;Canvas-&gt;Pixels[j][i]; else if (Hmin &lt; (int) Buffer-&gt;Canvas-&gt;Pixels[j][i]) { Hmin = (int) Buffer-&gt;Canvas-&gt;Pixels[j][i]; x = j; y = i; z++; //Buffer-&gt;Canvas-&gt;Pen-&gt;Color=0x0000ff00; //Buffer-&gt;Canvas-&gt;Ellipse(10 + j, 10 + i, j + 20, i + 20); } } } Caption = IntToStr (Buffer-&gt;Width) + " : " + IntToStr (Buffer-&gt;Height)+ " - " + IntToStr (x) + " : " + IntToStr (y); Buffer-&gt;Canvas-&gt;Pen-&gt;Color=0x000000ff; Buffer-&gt;Canvas-&gt;Pen-&gt;Style=psSolid; Buffer-&gt;Canvas-&gt;Ellipse(10 + x, 10 + y, x + 20, y + 20); Canvas-&gt;Draw (10, 10, Buffer); Label1-&gt;Caption= "точек одинокавых: " + IntToStr(z) + " цвет точки: " + IntToStr(Hmin); } } //--------------------------------------------------------------------------- void __fastcall TForm1::Button2Click(TObject *Sender) { capDriverDisconnect (hWndC); } //--------------------------------------------------------------------------- void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action) { capDriverDisconnect (hWndC); } //---------------------------------------------------------------------------
кинул код на быструю руку с модуля.. что-то не ясно спрашивай..
Post #: 2
RE: Работа с юсб веб камерами - 2007-05-30 21:36:01.250000   
T

Сообщений: 1100
Оценки: 0
Присоединился: 2006-01-14 00:15:36
в си++ я неочень шарю, и билдера нету, я это в с++ закинул, он пишет, что 0 эрорс, 0 варнингс, но и кент экзкут програм, я понял,что это лиш модуль обращение, поэтому прошу код его применения.
Post #: 3
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> Работа с юсб веб камерами







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.