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

請問如何使用vfw在擷取的影像上繪圖

答題得分者是:taishyang
PIK
一般會員


發表:11
回覆:16
積分:5
註冊:2003-08-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-09-05 15:16:50 IP:211.21.xxx.xxx 未訂閱
版大您好: 請問版大 您將擷取的影像畫到Image上,同時擷取且同時在影像上繪線而不會閃爍,您是怎麼處理的,小弟幾乎參考過您所發表過的所有文章,包括DoubleBuffered=true,但好像少了什麼東西,老是寫不出來,所以才會懇求版大您PO個範例上來給小弟參考, 謝謝您
taishyang
站務副站長


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-09-05 16:05:03 IP:140.135.xxx.xxx 未訂閱
PIK您好:   假設您已經將capCreateCaptureWindow指定到Panel上的話   試試下面的code
 
 TCanvas *csBuf=new TCanvas;
 HDC hDC=GetDC(Panel1->Handle);
 csBuf->Handle=hDC;
 Graphics::TBitmap*Source=new Graphics::TBitmap();
 Source->Width=Panel1->Width;
 Source->Height=Panel1->Height;
 Source->Canvas->CopyRect(Rect(0, 0, Source->Width, Source->Height),
      csBuf, Rect(0, 0, Panel1->Width, Panel1->Height));
 Image1->Picture->Assign(Source);
 ReleaseDC(0, hDC);
 Image1->Canvas->Brush->Style=bsClear;
 Image1->Canvas->Ellipse(50,50,100,100);
 delete csBuf;
 delete Source;
順心 > <>~我也是在學習的階段,回答的不好請您多多見諒與指教~ 發表人 -
PIK
一般會員


發表:11
回覆:16
積分:5
註冊:2003-08-07

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-09-05 17:07:42 IP:211.21.xxx.xxx 未訂閱
版大您好:    原始Panel有影像但按下Button1後得到Image畫面為一片漆黑及一個圓
 
//---------------------------------------------------------------------------    #include 
#pragma hdrstop    #include "Unit1.h"
#include "vfw.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TMainForm *MainForm;    HWND hCapWnd;
//---------------------------------------------------------------------------
__fastcall TMainForm::TMainForm(TComponent* Owner)
  : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::FormCreate(TObject *Sender)
{
MainForm->DoubleBuffered = true;
hCapWnd = capCreateCaptureWindow("My Capture Window", WS_CHILD | WS_VISIBLE,
0, 0, Panel1->Width, Panel1->Height,Panel1->Handle, 0);
capDriverConnect (hCapWnd,(int)ComboBox1->ItemIndex);
//capPreviewScale(hCapWnd,true);
//capPreviewRate(hCapWnd, 1000/30);
//capPreview(hCapWnd,true);
capOverlay(hCapWnd, true);
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::Button1Click(TObject *Sender)
{
TCanvas *csBuf = new TCanvas;
Graphics::TBitmap *Source = new Graphics::TBitmap();
Source->Width=Panel1->Width;
Source->Height=Panel1->Height;
HDC hDC = GetDC(Panel1->Handle);
csBuf->Handle = hDC;
Source->Canvas->CopyRect( Rect(0,0,Source->Width,Source->Height),
csBuf,Rect(0,0,Panel1->Width,Panel1->Height));
Image1->Picture->Assign(Source);
ReleaseDC(0,hDC);
delete csBuf;
delete Source;    Image1->Canvas->Pen->Color = clRed;
Image1->Canvas->Brush->Style = bsClear;
Image1->Canvas->Ellipse(50,50,100,100);
}
//---------------------------------------------------------------------------
taishyang
站務副站長


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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-09-05 17:21:18 IP:140.135.xxx.xxx 未訂閱
PIK您好:   請看我的P.S部分   不知有沒有人可以擷取到Overlay的畫面   不透過存成BMP的方式< > 順心< > ~我也是在學習的階段,回答的不好請您多多見諒與指教~ 發表人 - taishyang 於 2003/09/05 17:25:34
PIK
一般會員


發表:11
回覆:16
積分:5
註冊:2003-08-07

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-09-05 17:40:41 IP:211.21.xxx.xxx 未訂閱
版大您好:    因為 小弟不用Overlay時畫面很奇怪(黑白且有雜訊且圖形變一半) 但可以擷取至Image
capDriverConnect(hCapWnd,0);
//capOverlay(hCapWnd, true);
capPreviewScale(hCapWnd,true);
capPreviewRate(hCapWnd, 1000/30);
capPreview(hCapWnd,true);
用Overlay時畫面正常(彩色)但無法擷取至Image
capDriverConnect(hCapWnd,0);
capOverlay(hCapWnd, true);
//capPreviewScale(hCapWnd,true);
//capPreviewRate(hCapWnd, 1000/30);
//capPreview(hCapWnd,true);
taishyang
站務副站長


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

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-09-05 17:46:15 IP:140.135.xxx.xxx 未訂閱
PIK您好:   在我這邊不會有這樣的現象耶   您的捷取卡有設定好嗎? 比如說NTSC...等   您先確認您的Preview沒有問題    順心 <>~我也是在學習的階段,回答的不好請您多多見諒與指教~ 發表人 -
PIK
一般會員


發表:11
回覆:16
積分:5
註冊:2003-08-07

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-09-05 18:05:21 IP:211.21.xxx.xxx 未訂閱
版大您好:    小弟試了一下 如果用的是【亞邁MyTVpk的卡&&CCD】,只要不用Overlay所顯示的畫面便不對 但用另一台電腦的【圓剛的AVerDVD影音精靈&&WebCamera】便可以了    我知道亞邁MyTVpk的是WDM卡,那圓剛的AVerDVD影音精靈也是嗎??? 不知道是不是卡的問題??還是沒有裝好??因為用它所提供的軟体每次關閉時 總是出現一堆錯誤訊息,重裝也沒用!!!    請問有人遇過這個問題嗎?    感謝版大的協助    另一個問題: 不用Overlay時,效率會不會不好?? 發表人 -
taishyang
站務副站長


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

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-09-05 19:16:47 IP:140.135.xxx.xxx 未訂閱
PIK您好:   看您的情況應該是卡的問題(也許是沒有安裝好)   USB介面的攝影機應該都沒有支援Overlay的功能  
引言:不用Overlay時,效率會不會不好??
畫面更新速度差很多,用Overlay不論影像大小為何一定都有 30張以上/s 的速度 順心 <>~我也是在學習的階段,回答的不好請您多多見諒與指教~
PIK
一般會員


發表:11
回覆:16
積分:5
註冊:2003-08-07

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-09-05 19:41:42 IP:211.21.xxx.xxx 未訂閱
版大您好:    當初同時裝亞邁MyTVpk卡及圓剛的AVerDVD卡時只要一RUN程式選擇圓剛的卡便重新開機,所以只好將圓剛的AVerDVD卡裝在另一台電腦上。    不知版大是否有同時裝過兩片卡以上??(我想應該沒有問題吧) 請問版大用的是什麼卡??    看來只好重裝Win2K了 先結案了 非常謝謝版大
taishyang
站務副站長


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

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-09-05 19:49:12 IP:140.135.xxx.xxx 未訂閱
PIK您好:
引言: 不知版大是否有同時裝過兩片卡以上??(我想應該沒有問題吧) 請問版大用的是什麼卡??
裝第二張卡大約要等到10月份以後吧< > 我用的是 > 順心< > <>~我也是在學習的階段,回答的不好請您多多見諒與指教~
系統時間:2024-11-24 14:16:52
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!