線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1734
推到 Plurk!
推到 Facebook!

VFW写的--有些WEBCAM可以读出来 有些不行 为什么?

缺席
charlietian
一般會員


發表:1
回覆:6
積分:1
註冊:2008-04-08

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-04-08 17:23:04 IP:218.16.xxx.xxx 訂閱

[code cpp]
請在此區域輸入程式碼
[/code]
#include
#pragma hdrstop

#include
#include

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"

HWND vcHWND;

TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)
{

}
//---------------------------------------------------------------------------

void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
int w=320;
int h=240;

int t=20; //取样框尺寸2*t

capGrabFrameNoStop(vcHWND);
capEditCopy(vcHWND);
if (Clipboard()->HasFormat(CF_DIB))
{
Image1->Picture->Bitmap->Assign(Clipboard());

Image1->Canvas->MoveTo(w/2-t,h/2-t);
Image1->Canvas->LineTo(w/2-t,h/2 t);
Image1->Canvas->MoveTo(w/2-t,h/2 t);
Image1->Canvas->LineTo(w/2 t,h/2 t);
Image1->Canvas->MoveTo(w/2 t,h/2 t);
Image1->Canvas->LineTo(w/2 t,h/2-t);
Image1->Canvas->MoveTo(w/2 t,h/2-t);
Image1->Canvas->LineTo(w/2-t,h/2-t);

}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Timer1->Enabled=true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
vcHWND = capCreateCaptureWindow ( "Capture Window",
WS_CHILD | WS_VISIBLE ,0,0,1,1,Form1->Handle, 0); //設定視窗大小
bool bConnect = false;
for (int i=0; i<10; i )
{
bConnect = capDriverConnect(vcHWND, i);
if (bConnect) break;
}
capPreviewRate(vcHWND,10);
capPreview(vcHWND,true);
}

功能是连接camera后捕捉图象到剪贴板,然后显示在IMAGE里,同时在IMAGE里画方框。
现在的问题是有些camera读不出来(程序会死),可是window能够识别出影象设备啊。
friendlly
高階會員


發表:22
回覆:144
積分:103
註冊:2003-04-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-04-08 17:40:11 IP:61.64.xxx.xxx 訂閱
webcam 用VFW 應該都可以
你可以試試DSPACK 用關鍵字搜尋有安裝說明
測試sample code 就可以
charlietian
一般會員


發表:1
回覆:6
積分:1
註冊:2008-04-08

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-04-09 08:53:31 IP:218.16.xxx.xxx 訂閱
谢谢大大,我用DSPACK的DEMO playcay试过了,也是一样的,有些webcam联不上。联不上的webcam是免驱动的,插在USB上window XP就可以识别出来,可是我却读不出来。用webcam自带的程序就可以读出影象。好奇怪啊。
charlietian
一般會員


發表:1
回覆:6
積分:1
註冊:2008-04-08

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-06-30 09:57:58 IP:119.127.xxx.xxx 訂閱
关于结案的问题解释一下:
1、后来经过研究发现,我碰到的个案是因为主板中没有SENSOR的初始化驱动造成的,不是软件设计的问题;这样的问题通常只有在用开发板做时才会有问题;
2、关于VFW有一部分摄像头没有办法读出来的问题,主要是驱动格式的问题,旧的camera一般用VFW驱动,这一部分用VFW写的软件都没问题;新的用WMD驱动方式的,最好用DSPACK来写;
3、USD接口的,有很多是UVC免驱的,建议也用DSPACK来写程序;
系統時間:2024-04-28 8:49:27
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!