請問兩個ccdㄉ問題 |
尚未結案
|
988078
一般會員 發表:23 回覆:15 積分:7 註冊:2005-03-02 發送簡訊給我 |
|
KENI_LIN
中階會員 發表:86 回覆:267 積分:90 註冊:2004-05-31 發送簡訊給我 |
目前我試過的動態影像程式,很難用USB介面同時開啟兩個畫面,會時常當機;除非你CPU夠強壯,可以參考這個討論區:USB2.0 CMOS Camera 資料量問題!!
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=64587 我想你應該是用vfw,可以參考這兩個討論區看看:
(1)擷取攝影機畫面的Panel元件
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=39076
(2)VFW是否支援雙攝影機同時擷取
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=54959 我會建議你使用DXSDK,和硬體的相容性會比較好,我試過可以同時開啟兩組Camera,請參考以下這個討論區:
DirectShow元件 for D5 D6 B5
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=40601 寒窗苦讀十年書;只待今朝狀元時!~~
︵ / / ︵
( ∩ ∩ )
○ ︶ ○
Keni Lin
------
Keni Lin |
988078
一般會員 發表:23 回覆:15 積分:7 註冊:2005-03-02 發送簡訊給我 |
以下我是參考板上的一些程式~~有沒有辦法不讓他顯示視訊裝置
void __fastcall TForm1::Button1Click(TObject *Sender)
{
capPreview(capw2,false);
capw=capCreateCaptureWindow( "My cap",WS_CHILD | WS_VISIBLE,0,0,Form1->Panel1->Width,
Form1->Panel1->Height,Form1->Panel1->Handle,0); bool a = false;
for( int i = 0; i < 10; i )
{
a = capDriverConnect( capw, i );
if( a )
{
if (capDriverGetCaps(capw,Device1[i],100))
{
CCD1=Device1[i];
}
break;
}
}
if( !a )
{
ShowMessage("攝影機1連接失敗^^..");
}
capOverlay(capw,true);
capPreview(capw,true);
capPreviewScale(capw,true);
capPreviewRate(capw, 1000/30);
capDriverDisconnect(capw2); }
//--------------------------------------------------------------------------- void __fastcall TForm1::Button2Click(TObject *Sender)
{ capPreview(capw,false);
capw2=capCreateCaptureWindow( "My cap2",WS_CHILD | WS_VISIBLE,0,0,Form1->Panel2->Width,
Form1->Panel2->Height,Form1->Panel2->Handle,0);
bool b = false;
for( int j = 0; j < 10; j )
{
b = capDriverConnect( capw2, j );
if( b )
{
if (capDriverGetCaps(capw2,Device2[j],100))
{
CCD2=Device2[j];
}
break;
}
}
if( !b )
{
ShowMessage("攝影機2連接失敗**..");
}
capOverlay(capw2,true);
capPreview(capw2,true);
capPreviewScale(capw2,true);
capPreviewRate(capw2, 1000/30);
capDriverDisconnect(capw);
}
謝謝~~~ 高高屋海苔
------
高高屋海苔 |
KENI_LIN
中階會員 發表:86 回覆:267 積分:90 註冊:2004-05-31 發送簡訊給我 |
|
988078
一般會員 發表:23 回覆:15 積分:7 註冊:2005-03-02 發送簡訊給我 |
我現在用directshow~~dspack元件來做(bcb5)
但是我在安裝dspack的過程發現
在編譯Package有error
[C Error] DirectX9_BCB6.cpp(3): E2209 Unable to open include file 'BASEPCH.H'
[C Error] DirectX9_BCB6.cpp(12): E2141 Declaration syntax error
不知道是哪裡出了問題??可否請前輩指教~~
謝謝~~ 高高屋海苔
------
高高屋海苔 |
KENI_LIN
中階會員 發表:86 回覆:267 積分:90 註冊:2004-05-31 發送簡訊給我 |
|
988078
一般會員 發表:23 回覆:15 積分:7 註冊:2005-03-02 發送簡訊給我 |
我已安裝dxsdk_apr2005
但是到最後我執行那題範例有錯誤ㄟ?
[C Warning] strmif.h(20557): W8058 Cannot create pre-compiled header: initialized data in header
[C Warning] MainForm.cpp(86): W8018 Assigning int to TCaptureDialog
[Linker Fatal Error] Fatal: Unable to open file 'VCAP.OBJ' 高高屋海苔
------
高高屋海苔 |
KENI_LIN
中階會員 發表:86 回覆:267 積分:90 註冊:2004-05-31 發送簡訊給我 |
引言: 我已安裝dxsdk_apr2005 但是到最後我執行那題範例有錯誤ㄟ? [C++ Warning] strmif.h(20557): W8058 Cannot create pre-compiled header: initialized data in header [C++ Warning] MainForm.cpp(86): W8018 Assigning int to TCaptureDialog [Linker Fatal Error] Fatal: Unable to open file 'VCAP.OBJ'可以參考一下我當初遇到的問題http://delphi.ktop.com.tw/topic.php?TOPIC_ID=54652 妳這個問題應該是少安裝一個程式,請看以下說明 寒窗苦讀十年書;只待今朝狀元時!~~ ︵ / / ︵ ( ∩ ∩ ) ○ ︶ ○ Keni Lin
------
Keni Lin |
988078
一般會員 發表:23 回覆:15 積分:7 註冊:2005-03-02 發送簡訊給我 |
|
KENI_LIN
中階會員 發表:86 回覆:267 積分:90 註冊:2004-05-31 發送簡訊給我 |
因為vcap是vcl元件程式,所以我會認為是vcl沒裝好的問題!
我在第一次玩DirectShow時,也是一直compile不過,最後是重新再下載一次,並設定好路徑及copy一些程式到bcb裡面後,再重新compile後就過了! 其實過的很莫名其妙,但我初步判斷應該是因為重複cjmpile同一個程式,可能不小心更改到的問題!
所以妳重新再開(或下載)一個新檔complie看看,但在complie前記的先確認設定步驟完成再執行,請參考
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=66402 請再看一次第9章節,仔細按照步驟安裝及設定!
再不行,就把妳的程式上傳,幫妳看看是哪裡出問題! 寒窗苦讀十年書;只待今朝狀元時!~~
︵ / / ︵
( ∩ ∩ )
○ ︶ ○
Keni Lin
------
Keni Lin |
KENI_LIN
中階會員 發表:86 回覆:267 積分:90 註冊:2004-05-31 發送簡訊給我 |
我下載了這個資料後,試過是沒有問題的,可能是我的簡報寫的不好吧!http://delphi.ktop.com.tw/topic.php?TOPIC_ID=72138 我在加強補充以下說明 一,下載安裝程式和路徑設定篇
除了要安裝好目錄sources下的Vcap元件(參考文章的第九章節Page 41~43),還須安裝DXSDK9.0軟體(dx90updatesdk.exe),可以到官方網站
http://beqiraj.com/download/directx/index.asp
找到以下2003年夏天版本下載::
DirectX 9.0 SDK Update Summer 2003 - September 22, 2003
http://www.microsoft.com/downloads/details.aspx?FamilyID=9216652f-51e0-402e-b7b5-feb68d00f298
http://download.microsoft.com/download/d/5/d/d5dd3f5e-9d8e-4f6f-914d-98e2fb34629d/dx90updatesdk.exe
我現在就是用這一個版本!
下載並安裝完畢後會出現c:\DX90SDK的程式目錄,記的再做新增BCB路徑設定(參考文章的第九章節Page 40). 二,hpp及obj檔案複製篇
當妳sources目錄做Vcap的compile和install後,再sources目錄會自動產生
(1)
DirectDraw.hpp、DirectShow.hpp、DirectSound.hpp、 DXCommon.hpp、Utils.hpp、DirectXGraphics.hpp、VCap.hpp、VCapStrings.hpp。
將以上標頭檔(hpp檔)檔複製到目錄C:\Program Files\Borland\CBuilder5\Include底下
(2)
DirectDraw.obj、DirectShow.obj、DirectSound.obj、 DXCommon.obj、Utils.obj、DirectXGraphics.obj、VCap.obj、VCapStrings.obj。
將以上目的檔(obj檔)檔複製到目錄D:\Project\72138_40601_EAVcap\40601_EAVcap\底下
(以上參考文章的第九章節Page 39). 三,程式修改篇
這個原始程式要再增加一段指令(參考紅字):
#pragma package(smart_init)
#pragma link "VCap"
#pragma resource "*.dfm"
TVideoCapture *cap;
TFMain *FMain; 我剛剛只做第一篇的路徑設定,選擇 project -> optical -> Directories/Conditionals會出現路徑設定視窗,用新增方式把c:\DX90SDK\include\的路徑設進來. 和第二篇跟第三篇動作後,就可以執行,妳在try看看. 寒窗苦讀十年書;只待今朝狀元時!~~
︵ / / ︵
( ∩ ∩ )
○ ︶ ○
Keni Lin
------
Keni Lin |
KENI_LIN
中階會員 發表:86 回覆:267 積分:90 註冊:2004-05-31 發送簡訊給我 |
引言: (2) DirectDraw.obj、DirectShow.obj、DirectSound.obj、 DXCommon.obj、Utils.obj、DirectXGraphics.obj、VCap.obj、VCapStrings.obj。 將以上目的檔(obj檔)檔複製到目錄D:\Project\72138_40601_EAVcap\40601_EAVcap\底下 (以上參考文章的第九章節Page 39).抱歉,更正一下,是複製到目錄D:\Project\72138_40601_EAVcap\40601_EAVcap\demo.cpp 裡面是C槽或D槽要視情形而定,不要依樣化葫蘆了! 寒窗苦讀十年書;只待今朝狀元時!~~ ︵ / / ︵ ( ∩ ∩ ) ○ ︶ ○ Keni Lin
------
Keni Lin |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |