全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1634
推到 Plurk!
推到 Facebook!

CCD畫面延遲的問題

尚未結案
ccd0614
一般會員


發表:4
回覆:10
積分:2
註冊:2004-05-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-07-13 16:48:12 IP:210.59.xxx.xxx 未訂閱
目前我是利用老師的程式來將顯示畫面呈現在PANEL1上面 因為老師的程式是用DLL包起來 所以我也看不到裡面的程式碼 但是我自己用DIRECT SHOW的方式將攝影機連結到PANEL1上 會發現攝影機有延遲的現象 我是用PREVIEW的方式呈現在畫面上 而且沒辦法順利擷取到我的影像 不知道這是何故 硬體設備 擷取設備UPMOST-301PLUS CCD: JAI CV-S3200
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-07-13 19:32:02 IP:140.135.xxx.xxx 未訂閱
您好:
引言: 目前我是利用老師的程式來將顯示畫面呈現在PANEL1上面 因為老師的程式是用DLL包起來 所以我也看不到裡面的程式碼 但是我自己用DIRECT SHOW的方式將攝影機連結到PANEL1上 有關攝影機畫面擷取問題,板上有足夠多的文章供您參考 會發現攝影機有延遲的現象 我是用PREVIEW的方式呈現在畫面上 而且沒辦法順利擷取到我的影像 不知道這是何故 您的程式碼請PO上來,好讓有經驗的前輩們幫您看看 擷取攝影機畫面的程式,也是有很多文章,您可以先搜尋看看 硬體設備 擷取設備UPMOST-301PLUS CCD: JAI CV-S3200 小弟用過這張擷取卡,但覺得便宜沒好貨
順心 <>~我也是在學習的階段,回答的不好請您多多見諒與指教~
ccd0614
一般會員


發表:4
回覆:10
積分:2
註冊:2004-05-09

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-07-14 10:45:11 IP:210.59.xxx.xxx 未訂閱
void __fastcall TMainForm::Button1Click(TObject *Sender) { hCapWnd=capCreateCaptureWindow("My Capture Window", WS_CHILD | WS_VISIBLE,0, 0, 140, 140,Panel1->Handle, 0); //設定CaptureWindows hCapWnd1=capCreateCaptureWindow("My Capture Window", WS_CHILD | WS_VISIBLE,0, 0, 140, 140,Panel2->Handle, 0); capDriverConnect(hCapWnd, 0); //與驅動程式連結 capDriverConnect(hCapWnd1, 1); //與驅動程式連結 capOverlay(hCapWnd, true); //使用hardware overlay使video input directly into framebuffer,使不用CPU resources. capPreview(hCapWnd,true); //抓取影像出現在視窗中 capPreviewScale(hCapWnd,true); //使影像延伸到所設定的視窗大小 capPreviewRate(hCapWnd, 1000/30); //每秒影像變化張數 capPreviewRate(hCapWnd, 1000/30); //每秒影像變化張數 capOverlay(hCapWnd1, true); //使用hardware overlay使video input directly into framebuffer,使不用CPU resources. capPreview(hCapWnd1,true); //抓取影像出現在視窗中 capPreviewScale(hCapWnd1,true); //使影像延伸到所設定的視窗大小 capPreviewRate(hCapWnd1, 1000/30); //每秒影像變化張數 capPreviewRate(hCapWnd1, 1000/30); //每秒影像變化張數 } 這個是顯示兩個CCD的作法 但是單單只有接一個的時候畫面反應還是很慢 感覺畫面延遲得很嚴重 但是我用老師包起來的DLL檔就不會 不知道有沒有辦法讓畫面更流暢一點 順道在問第二個問題 我參考了之前的文章 做了擷取設備名稱的動作 但是永遠都只有第一個裝備有名稱 其他皆為NULL 這是怎麼一回事 有沒有辦法可以順利擷取到我設備的名稱 //程式碼//////////////////////////////////////////// void __fastcall TMainForm::Button2Click(TObject *Sender) { char name[10][80],ver[10][80]; char name1[80],ver1[80]; AnsiString Device,Ver; FILE *fp1; char deviceName[80]; fp1 = fopen("C:\\CCD_DEVICE_NAME.txt","w"); for (int i=0;i<=9;i ) { capGetDriverDescription( i,name1,80,ver1,80) ; Device=name1; Ver=ver1; fprintf(fp1,"%d:裝置:%s__版本:%s",i,Device,Ver); fprintf(fp1,"\n",i,Device,Ver); } fclose(fp1); } /////////////////////////////////////////////////// //*****裝置內容 0:裝置:Microsoft WDM Image Capture (Win32)__版本:Version: 5.1.2600.1106 1:裝置:(null)__版本:(null) 2:裝置:(null)__版本:(null) 3:裝置:(null)__版本:(null) 4:裝置:(null)__版本:(null) 5:裝置:(null)__版本:(null) 6:裝置:(null)__版本:(null) 7:裝置:(null)__版本:(null) 8:裝置:(null)__版本:(null) 9:裝置:(null)__版本:(null) //*****
axsoft
版主


發表:681
回覆:1056
積分:969
註冊:2002-03-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-07-14 14:12:39 IP:61.218.xxx.xxx 未訂閱
ccd0614您好:    看您貼出的程式碼是屬於Windows Multimedia SDK中的Video for Windows API 跟DirectShow似乎沒有任何關聯... 建議您參考站內的資料或    Using Video Capture http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_using_video_capture.asp http://www.geocities.jp/tmit_mecha_lab/vfwreference/index.html how to use Microsoft DirectShow to write video capture applications. http://msdn.microsoft.com/library/default.asp?url=/library/en-us/directx9_c/directx/htm/aboutcapturedevices.asp
/*生活是一種藝術,用心生活享受生活*/
發表人 - axsoft 於 2004/07/14 14:40:03
residue
中階會員


發表:90
回覆:153
積分:53
註冊:2003-07-02

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-07-15 17:07:10 IP:219.68.xxx.xxx 未訂閱
ccd0614大大您好!! 小弟目前也適用兩台CCD,做影像辨識,但是找不到合適的擷取卡,請問大大您用的影像擷取卡的型號是哪幾張?? 謝謝!!
ccd0614
一般會員


發表:4
回覆:10
積分:2
註冊:2004-05-09

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-07-16 00:02:50 IP:61.230.xxx.xxx 未訂閱
目前我適用UPMOST 301PLUS 跟 301B這兩塊擷取卡 不過目前僅僅是用在單攝影機的狀態 合併起來之後效果並沒有測試過 雙攝影機的狀態是在301plus跟一台USB CCD的情況下作雙螢幕擷取 但是畫面延遲的現象相當嚴重 我參考了之前有一位先進所介紹的S404(典通科技)的擷取卡 但是我手邊沒有這張卡 所以沒有辦法給你做參考 由於目前手邊的jai cv-s3200單價太貴 所以目前正在找尋國內便宜又比較好的CCD 不知道這位前輩 是否知道有比較好的CCD可以介紹 如果有的話感激不盡 至於前面我的程式的部分 原來我所用的只是WIN API而已 但是聯結雙CCD的效果不是很好 因為只要多了一顆CCD 兩個畫面就會同時變慢 目前我還不知道怎麼該用 DIRECT-X的方法在BCB裡頭使用 或者有更良好的連結CCD以 及快速擷取畫面的方法 因為我參考之前的文章使用複製 PANEL的畫面到IMAGE1 然後再存檔 效果很差 擷取下來的影像 會隨著物體移動的速度加快而產生拖影的現象 不知道有沒有更好的軟體辦法來擷取到正確的影像 或者可以直接取得記憶體中CCD送出的影像 如有前輩肯給予方向 小弟在此謝過
residue
中階會員


發表:90
回覆:153
積分:53
註冊:2003-07-02

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-07-19 14:35:51 IP:219.68.xxx.xxx 未訂閱
ccd0614大大您好!! 不之您兩台CCD的問題是否解決囉!!    但小弟到有兩個意見提供給您作參考!!       1 大大所提的301b與301plus這兩張卡,小弟有做過實際的測試!!很不幸的發現!!這兩張卡若再win底下只能擷取到一張,因為這兩張卡的晶片都是採用依樣低,所以不管你裝再多張卡也是一樣的,程式也只能判斷到一張,總而言之小弟試過的登昌公司所出的卡片,都不行 2 若一台,是USB CCD(類似一般的,網路視訊的CCD),另一台是利用301b擷取卡搭配CCD所擷取進來的兩個影像,是不會延遲的,我是參考taishyang大大所發表的文章,您可以查閱小弟所發表過的問題文章,相信您會有所展獲低!! 謝謝
系統時間:2024-05-20 22:48:20
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!