residue
中階會員
發表:90 回覆:153 積分:53 註冊:2003-07-02
發送簡訊給我
|
請教各位大大小弟,使用ccd擷取影像到Image中,而想把image中的影像存為AVI檔,請問如何儲存?? 謝謝!!
|
taishyang
站務副站長
發表:377 回覆:5490 積分:4563 註冊:2002-10-08
發送簡訊給我
|
|
residue
中階會員
發表:90 回覆:153 積分:53 註冊:2003-07-02
發送簡訊給我
|
感謝大大的指導!!
但小弟我試了兩天了,還是搞不定,不知道大大是否能寫一個小範例供小弟參考 謝謝!!以下是小弟參考大大的範例所寫的程式 但在寫以下程式時小弟有些疑問??
class="code"> #include
#pragma hdrstop
#include
#include
#include #include<math.h>
#include
#include "Unit1.h"
#include "c_cap.h"
#include "avi_utils.h"
#include "avi_utils.cpp"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
HWND vcHWND;
TCap *Cap; void __fastcall TForm1::FormCreate(TObject *Sender)
{
vcHWND = capCreateCaptureWindow ( "Capture Window",
WS_CHILD | WS_VISIBLE ,0,0,1,1,Form1->Handle, 0); //設定視窗大小
bool a = false;
for( int i = 0; i < 10; i )
{
a = capDriverConnect( vcHWND, i );
if( a ) break;
}
if( !a )
{
ShowMessage("攝影機連接失敗..");
}
capPreviewRate(vcHWND,33);
capPreview(vcHWND,true); } void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
capGrabFrameNoStop(vcHWND);
capEditCopy(vcHWND);
if(Clipboard()->HasFormat(CF_DIB))
{
Image1->Picture->Bitmap->Assign(Clipboard()); } }
void __fastcall TForm1::Button1Click(TObject *Sender)
{
const char *fns[] = {"1.bmp","2.bmp","3.bmp","4.bmp","5.bmp"};
HAVI avi = CreateAvi("test.avi",1000,NULL);
for (int i=0; i
|
MilesWamg
一般會員
發表:18 回覆:37 積分:11 註冊:2003-02-07
發送簡訊給我
|
請參考小弟拙作
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=39558
|
residue
中階會員
發表:90 回覆:153 積分:53 註冊:2003-07-02
發送簡訊給我
|
引言:
請參考小弟拙作
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=39558
>>< face="Verdana, Arial, Helvetica"> 感謝大大的回應
小弟我試了大大的程式發現以下錯誤了訊息 [Linker Fatal Error] Fatal: Unable to openfile 'VCLJPG.LIB' 但若單純開執行檔去執行,是可以run但好像只能跑一秒鐘,程式就終止了是為
何??請大大指導
|
MilesWamg
一般會員
發表:18 回覆:37 積分:11 註冊:2003-02-07
發送簡訊給我
|
|
residue
中階會員
發表:90 回覆:153 積分:53 註冊:2003-07-02
發送簡訊給我
|
引言:
請將ccd設定於rgb24
而bcb版本為6.0
謝謝大大的指導!!!
但還是不能用,小弟用的卡是upg301b的,系統是win me ,bcb 6.0真不曉得為何不能用!!
小弟現在有個疑惑,看了大大的程式,是把影像Lod近PaintBox1中,但若我改成image作,是要修改哪裡呢??
還市image不能直接用,需借助別的原件下去做轉換 謝謝指導!!
|
MilesWamg
一般會員
發表:18 回覆:37 積分:11 註冊:2003-02-07
發送簡訊給我
|
將原本Pic資料Draw 於PaintBox1->Canvas->Draw(0,0,Pic);
改成Image1->Canvas->Draw(0,0,Pic);
應該可以
|
taishyang
站務副站長
發表:377 回覆:5490 積分:4563 註冊:2002-10-08
發送簡訊給我
|
residue您好:
幫忙補充一下
引言:
小弟我試了大大的程式發現以下錯誤了訊息
[Linker Fatal Error] Fatal: Unable to openfile 'VCLJPG.LIB'
請將下面的路徑加入lib path中
C:\Program Files\Borland\CBuilder6\Lib\Debug 順心
|
residue
中階會員
發表:90 回覆:153 積分:53 註冊:2003-07-02
發送簡訊給我
|
引言:
residue您好:
幫忙補充一下
引言:
小弟我試了大大的程式發現以下錯誤了訊息
[Linker Fatal Error] Fatal: Unable to openfile 'VCLJPG.LIB'
請將下面的路徑加入lib path中
C:\Program Files\Borland\CBuilder6\Lib\Debug 順心
>>< face="Verdana, Arial, Helvetica"> 感謝taishyang大大的提醒!!
但是在C:\Program Files\Borland\CBuilder6\Lib\Debug資料夾下早就有'VCLJPG.LIB'這各檔案所以小弟也不知道問題出在哪裡??
小弟在嘗試自己寫寫看,有問題再請大大指導謝謝大大們所提供的資料與提點 謝謝!! residue
|
taishyang
站務副站長
發表:377 回覆:5490 積分:4563 註冊:2002-10-08
發送簡訊給我
|
residue您好:
因為在我的環境底下,編譯此專案後,我也出現和您一樣的錯誤訊息
加入此path就可以WORK了
|
residue
中階會員
發表:90 回覆:153 積分:53 註冊:2003-07-02
發送簡訊給我
|
引言:
residue您好:
因為在我的環境底下,編譯此專案後,我也出現和您一樣的錯誤訊息
加入此path就可以WORK了
>>< face="Verdana, Arial, Helvetica"> 感謝大大的指導~!!!
程式是可以RUN了但Run到一半會出現,以下兩種錯誤訊息
不知是哪裡出了問題??還請大大指教,謝謝!!
|
residue
中階會員
發表:90 回覆:153 積分:53 註冊:2003-07-02
發送簡訊給我
|
小弟嘗試很久,仍然不能解決上述其問題,所以小弟自己參考大大們的資料,寫一較簡單的程式,但程式執行到紅色的那一行就錯誤的了,但不知小弟哪出錯呢??
#include
#include
#include<math.h>
#include
#include "Unit1.h"
#include
#pragma hdrstop
#include "Unit1.h" //---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1; //---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//--------------------------------------------------------------------------- void __fastcall TForm1::FormCreate(TObject *Sender)
{
vcHWND = capCreateCaptureWindow ( "Capture Window",
WS_CHILD | WS_VISIBLE ,0,0,1,1,Form1->Handle, 0); //設定視窗大小
bool a = false;
for( int i = 0; i < 10; i )
{
a = capDriverConnect( vcHWND, i );
if( a ) break;
}
if( !a )
{
ShowMessage("攝影機連接失敗..");
}
capPreviewRate(vcHWND,33);
capPreview(vcHWND,true);
//--------------------------------------------------- Capflag=false;
Pic = new Graphics::TBitmap();
Pic->Height=240;
Pic->Width=320;
Pic->PixelFormat=pf24bit;
Pic2 = new Graphics::TBitmap();
Pic2->Assign(Image1->Picture->Bitmap);
Pic2->Height=240;
Pic2->Width=320;
Pic2->PixelFormat=pf24bit;
Pic->Canvas->Font->Color =clBlue;
Pic->Canvas->Brush->Style = bsDiagCross;
avi = CreateAvi("Test.avi",50,NULL); AVI_Frame_Count=0;
}
//--------------------------------------------------------------------------- void __fastcall TForm1::Add_Frame_To_AVI() //2003/7/13 Miles Wang
{
HBITMAP hbm=(HBITMAP)CopyImage(Pic2->Handle,IMAGE_BITMAP,Pic2->Width,Pic2->Height,
LR_COPYFROMRESOURCE|LR_CREATEDIBSECTION);
AddAviFrame(avi,hbm);
DeleteObject(hbm);
AVI_Frame_Count ;
} void __fastcall TForm1::Button2Click(TObject *Sender)
{
Form1->Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
capGrabFrameNoStop(vcHWND);
capEditCopy(vcHWND);
if(Clipboard()->HasFormat(CF_DIB))
{
Image1->Picture->Bitmap->Assign(Clipboard());
}
Add_Frame_To_AVI();
}
|
taishyang
站務副站長
發表:377 回覆:5490 積分:4563 註冊:2002-10-08
發送簡訊給我
|
residue您好:
還好我的影像擷取卡跟您是同樣型號,不然我也查不出來
您試試用webcam吧< >一切將真相大白
結論:便宜沒好貨< > 發表人 - taishyang 於 2003/10/28 16:29:08
|
residue
中階會員
發表:90 回覆:153 積分:53 註冊:2003-07-02
發送簡訊給我
|
引言:
residue您好:
還好我的影像擷取卡跟您是同樣型號,不然我也查不出來
您試試用webcam吧< >一切將真相大白
結論:便宜沒好貨< > 發表人 - taishyang 於 2003/10/28 16:29:08
感謝大大的提點!!
那也就是說MilesWamg大大的程式不能run嗎??那該如何解決目前的問題,
因為小弟也只有這張卡 謝謝!!!
|
taishyang
站務副站長
發表:377 回覆:5490 積分:4563 註冊:2002-10-08
發送簡訊給我
|
residue您好:
引言:那也就是說MilesWamg大大的程式不能run嗎??那該如何解決目前的問題,
因為小弟也只有這張卡
不是MilesWamg大大的程式不能run, 而是我們的擷取卡有問題
不然迂迴一點,先將數個BMP存起來,再用之前聯結的方式將數個BMP組成AVI
因為我都是這樣用的 >
|
residue
中階會員
發表:90 回覆:153 積分:53 註冊:2003-07-02
發送簡訊給我
|
恩~~我知道囉!!
那只好先一張一張的存在把它結合囉!! 謝謝
|