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

影像擷取的問題

尚未結案
newken
一般會員


發表:26
回覆:52
積分:15
註冊:2003-03-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-06-26 13:18:58 IP:163.28.xxx.xxx 未訂閱
請問各位新進:    小弟想要用ccd擷取影像,然後依順序前後比較,可是每次一執行完成以後都會產生一堆的影像檔,請問如果我只想要儲存10張影影像然後一直覆蓋這10張,請問程式我該怎麼下手 謝謝
taishyang
站務副站長


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-06-26 13:29:48 IP:140.135.xxx.xxx 未訂閱
newken您好: 
引言: 請問如果我只想要儲存10張影影像然後一直覆蓋這10張,請問程式我該怎麼下手
試試下面的CODE
 
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
 static int no=0;
 AnsiString FileName="連續" IntToStr(no) ".bmp";
 capFileSaveDIB(vcHWND,FileName.c_str());
  no  ;
 if (no==10)
  no=0;
}
編號順序為連續0~連續9 共10張 順心 <>~我也是在學習的階段,所以請您多多見諒與指教~
newken
一般會員


發表:26
回覆:52
積分:15
註冊:2003-03-26

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-06-26 14:03:43 IP:163.28.xxx.xxx 未訂閱
taishyang你好: 我現在發生一個問題就是我擷取影像的程式碼是放在timer底下執行,但是擷取影像儲存只有一張但我讀取的影像要連續的兩張,造成只能讀取第一張但沒有第二張,請問我該如何解決這各問題,我的程式碼如下:  
 
capPreview(hWndC,true); capGrabFrameNoStop(hWndC); static int k=0; AnsiString szDT=IntToStr(k) ".bmp"; capFileSaveDIB(hWndC,szDT.c_str()); k ; if (k==10) k=0; AnsiString szDT=IntToStr(k) ".bmp"; k ; Graphics::TBitmap *bmp1 = new Graphics::TBitmap(); Graphics::TBitmap *bmp2 = new Graphics::TBitmap(); bmp1->LoadFromFile(IntToStr(k) ".bmp"); bmp2->LoadFromFile(IntToStr(k 1) ".bmp");
 
taishyang
站務副站長


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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-06-26 14:16:42 IP:140.135.xxx.xxx 未訂閱
newken您好:      用FileExists()來判斷檔案存在與否,再進行讀檔的動作即可   您這樣做最主要的目的是什麼呢??    順心 <>~我也是在學習的階段,所以請您多多見諒與指教~
newken
一般會員


發表:26
回覆:52
積分:15
註冊:2003-03-26

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-06-26 15:43:41 IP:163.28.xxx.xxx 未訂閱
taishyang你好: 剛才的問題我以解決了,但又碰到了一個問題,就是我擷取影像並重複儲存1~10張,但我要依序把前後兩張讀取出來,但這樣到了第10張的時候並沒有第11張的存在,請問我要如何把第11張片斷成第一張並讀取呢 謝謝
taishyang
站務副站長


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

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-06-26 16:05:58 IP:140.135.xxx.xxx 未訂閱
newken您好:       建議您直接擷取存成1.bmp與2.bmp    再讀取1.bmp和2.bmp做處理即可    順心 <>~我也是在學習的階段,所以請您多多見諒與指教~
starhua
一般會員


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

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-08-30 00:23:57 IP:210.203.xxx.xxx 未訂閱
想請問一下若是我想在Image1中出現次新的畫面 不知道下列的寫法那邊出了錯呢 compiler沒問題~可是一run完就會跳出要我Debug    
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
 static int no=1;
 AnsiString FileName="" IntToStr(no) ".bmp";
 capFileSaveDIB(hCapWnd,FileName.c_str());
 Image1->Picture->Bitmap->LoadFromFile( IntToStr(no-1) ".bmp");
 no  ;
 if(no==10)
 no=1;
} 
taishyang
站務副站長


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

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-08-30 17:56:46 IP:140.135.xxx.xxx 未訂閱
starhua您好:  因為您並沒有產生0.bmp,所以Image1無法開啟圖檔導致錯誤  建議您可以看看舊文章或是買本書來看看,並多多練習 學會從錯誤訊息當中 > <>~我也是在學習的階段,回答的不好請您多多見諒與指教~ 發表人 -
系統時間:2024-04-20 18:31:46
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!