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

CCD連續取得bmp檔

答題得分者是:taishyang
show
初階會員


發表:57
回覆:48
積分:31
註冊:2003-05-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-05-24 00:29:55 IP:211.76.xxx.xxx 未訂閱
各位大大 我參考 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=20758 這篇文章透過CCD取得影像~然後轉成jpg~再透過網路傳送~ 到視訊目的~聽說這樣loading比較低~~ 按照該篇方法~但是我在擷取成bmp時~ ....... capGrabFrameNoStop(hCapWnd); //從CCD中抓取單格影像,但不會停止其他動作 capEditCopy(hCapWnd); capOverlay(hCapWnd,true); capPreview(hCapWnd,true); capGrabFrame(hCapWnd); capFileSaveDIB(hCapWnd,bmpfilename.c_str() ); //存成bmp檔 只能取得CCD啟動那一瞬間畫面~~而且沒有CCD畫面在frame上~但有存成一個bmp檔~~但我是想要一直有最新影像~@@~ 請問有啥方法可以改進~然後可以達到我視訊目的~@@我搜遍CCD~視訊相關搜尋 但我能力不足~@@拼湊不起來~><~~ 麻煩各位了~~><
taishyang
站務副站長


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-05-24 00:57:34 IP:140.135.xxx.xxx 未訂閱
show您好:    
引言:只能取得CCD啟動那一瞬間畫面~~而且沒有CCD畫面在frame上~但有存成一個bmp檔~~但我是想要一直有最新影像~@@~
您可以參考下面的連結(需求似乎一樣) http://delphi.ktop.com.tw/topic.php?TOPIC_ID=29917 順心 <>~我也是在學習的階段,所以請您多多見諒與指教~
show
初階會員


發表:57
回覆:48
積分:31
註冊:2003-05-24

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-05-24 01:21:01 IP:211.76.xxx.xxx 未訂閱
引言: show您好:
引言:只能取得CCD啟動那一瞬間畫面~~而且沒有CCD畫面在frame上~但有存成一個bmp檔~~但我是想要一直有最新影像~@@~
您可以參考下面的連結(需求似乎一樣) http://delphi.ktop.com.tw/topic.php?TOPIC_ID=29917 順心 <>~我也是在學習的階段,所以請您多多見諒與指教~ < face="Verdana, Arial, Helvetica"> 我的狀況是~~run下去~都看不到影像~但有存成bmp~~CCD開啟瞬間的bmp 必須在程式最後再加上 capPreview(hCapWnd,true); 才會在Frame上秀出我的CCD影像~~ 那我如果要bmp一直保持最新~~要怎樣一直 capFileSaveDIB儲存成bmp且Frame能夠一直秀出目前畫面???
taishyang
站務副站長


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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-05-24 01:44:57 IP:140.135.xxx.xxx 未訂閱
show您好:   您先用下面連結的文章看看會不會有看不到影像的情況   http://delphi.ktop.com.tw/topic.php?TOPIC_ID=27084 capOverlay(hCapWnd,true); //透過影像擷取卡連電腦的攝影機用 capPreview(hCapWnd,true); //USB介面用 盡量不要同時使用 順心 <>~我也是在學習的階段,所以請您多多見諒與指教~
show
初階會員


發表:57
回覆:48
積分:31
註冊:2003-05-24

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-05-24 01:54:23 IP:211.76.xxx.xxx 未訂閱
引言: show您好: 您先用下面連結的文章看看會不會有看不到影像的情況 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=27084 capOverlay(hCapWnd,true); //透過影像擷取卡連電腦的攝影機用 capPreview(hCapWnd,true); //USB介面用 盡量不要同時使用 順心 <>~我也是在學習的階段,所以請您多多見諒與指教~ < face="Verdana, Arial, Helvetica"> 謝謝~~^^ capOverlay(hCapWnd,true); 這行取消後~~是有影像了~~但是好像程式執行到 capFileSaveDIB~~儲存後~畫面就整個停住~~ 要怎樣能夠~畫面一直保持動~然後bmp儲存在最後一個frame~~就是最新的frame @@~感謝~麻煩囉
taishyang
站務副站長


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

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-05-24 02:01:21 IP:140.135.xxx.xxx 未訂閱
show您好:      我沒有這樣的現象耶...   方便把您的code貼上來嗎??   您的資料是否填的是正確的(您在阿爾巴尼亞,且61歲嗎?),如有冒犯請見諒    順心 <>~我也是在學習的階段,所以請您多多見諒與指教~
show
初階會員


發表:57
回覆:48
積分:31
註冊:2003-05-24

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-05-24 02:30:15 IP:211.76.xxx.xxx 未訂閱
引言: show您好: 我沒有這樣的現象耶... 方便把您的code貼上來嗎?? 您的資料是否填的是正確的(您在阿爾巴尼亞,且61歲嗎?),如有冒犯請見諒 順心 <>~我也是在學習的階段,所以請您多多見諒與指教~ < face="Verdana, Arial, Helvetica"> hCapWnd = capCreateCaptureWindow("My Capture Window", WS_CHILD | WS_VISIBLE,0,0,400,300,Form1->Handle,0); capDriverConnect(hCapWnd, 0); capPreview(hCapWnd,true); capPreviewRate(hCapWnd, 1000/30); BITMAPINFO bmi; capGetVideoFormat(hCapWnd, &bmi, sizeof(BITMAPINFO)); SetWindowPos(hCapWnd, 0, 0, 0,bmi.bmiHeader.biWidth,bmi.bmiHeader.biHeight,0); Form1->ClientHeight=bmi.bmiHeader.biHeight; Form1->ClientWidth=bmi.bmiHeader.biWidth; capGrabFrameNoStop(hCapWnd); capEditCopy(hCapWnd); capPreview(hCapWnd,true); capGrabFrame(hCapWnd); capFileSaveDIB(hCapWnd,"c:\\test.bmp"); capPreview(hCapWnd,true); 剛剛修正一下~畫面正常了~~^^ 但是capFileSaveDIB這一行我要放哪才能夠一直儲存最新畫面結果??? 另外我這樣想法對嗎???一直儲存最新畫面~然後轉成jpg~ 然後網路送出去~就可以達到視訊的效果嗎???? 已修正~~^^我還年輕~~sorry~~
taishyang
站務副站長


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

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-05-24 02:38:38 IP:140.135.xxx.xxx 未訂閱
show您好:  
引言:但是capFileSaveDIB這一行我要放哪才能夠一直儲存最新畫面結果??? 另外我這樣想法對嗎???一直儲存最新畫面~然後轉成jpg~ 然後網路送出去~就可以達到視訊的效果嗎????
1. 您必須再放一個Timer元件,再加上capFileSaveDIB
  void __fastcall TForm1::Timer1Timer(TObject *Sender)
   {
    capFileSaveDIB(hCapWnd,bmpfilename.c_str() );
   } 
2.理論上對(看您對品質的要求),但必須注意檔案大小,與傳輸的方式如UDP 順心 <>~我也是在學習的階段,所以請您多多見諒與指教~
show
初階會員


發表:57
回覆:48
積分:31
註冊:2003-05-24

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-05-24 02:44:05 IP:211.76.xxx.xxx 未訂閱
引言: show您好:
引言:但是capFileSaveDIB這一行我要放哪才能夠一直儲存最新畫面結果??? 另外我這樣想法對嗎???一直儲存最新畫面~然後轉成jpg~ 然後網路送出去~就可以達到視訊的效果嗎????
1. 您必須再放一個Timer元件,再加上capFileSaveDIB
  void __fastcall TForm1::Timer1Timer(TObject *Sender)
   {
    capFileSaveDIB(hCapWnd,bmpfilename.c_str() );
   } 
2.理論上對(看您對品質的要求),但必須注意檔案大小,與傳輸的方式如UDP 順心 <>~我也是在學習的階段,所以請您多多見諒與指教~ < face="Verdana, Arial, Helvetica"> 3Q~感謝~~ 如果我有寫出來~視訊的...我會open source~~@@至少目前都沒看到有人 貢獻出來~~.... 恩~~udp~如果有封包loss~不嚴重~就當作正常的lag吧~~^^ 我只是寫好玩的~~^^ 早點睡喔~~^^
taishyang
站務副站長


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

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-05-24 02:50:26 IP:140.135.xxx.xxx 未訂閱
show您好:    
引言: 如果我有寫出來~視訊的...我會open source~~@@至少目前都沒看到有人 貢獻出來~~.... 恩~~udp~如果有封包loss~不嚴重~就當作正常的lag吧~~^^ 我只是寫好玩的~~^^ 早點睡喔~~^^
在此先謝謝您了,並預祝您好運< > 讓您有滿意的答覆之後,我就會乖乖回家睡囉< > ~我也是在學習的階段,所以請您多多見諒與指教~
starhua
一般會員


發表:10
回覆:18
積分:5
註冊:2003-08-26

發送簡訊給我
#11 引用回覆 回覆 發表時間:2003-08-27 23:30:11 IP:210.203.xxx.xxx 未訂閱
 
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
 capFileSaveDIB(hCapWnd,bmpfilename.c_str());
}
請問一下下面的訊息是哪裡出了錯誤嗎 [C Error] Unit1.cpp(134): E2451 Undefined symbol 'bmpfilename'
taishyang
站務副站長


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

發送簡訊給我
#12 引用回覆 回覆 發表時間:2003-08-28 13:45:45 IP:140.135.xxx.xxx 未訂閱
starhua您好:   錯誤訊息指的是您沒有定義bmpfilename   這部分要填入的是檔名(xxx.bmp)    順心 <>~我也是在學習的階段,回答的不好請您多多見諒與指教~
uu0112
一般會員


發表:0
回覆:1
積分:0
註冊:2004-06-25

發送簡訊給我
#13 引用回覆 回覆 發表時間:2004-06-25 23:09:49 IP:140.116.xxx.xxx 未訂閱
各位大大 麻煩幫忙一下,我想要讓我地ccd取得影像後,希望存成.bmp檔 可是,一直都有問題,以下是我的cod capGrabFrameNoStop(hWndC); capEditCopy(hWndC); capPreview(hWndC,true); capGrabFrame(hWndC); capFileSaveDIB(hWndC,"c:\\test.bmp"); capPreview(hWndC,true); 麻煩各位能給我提議嗎?
系統時間:2024-05-20 21:45:00
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!