請問如何將影像連續show到Image上? |
尚未結案
|
MemoryQ
一般會員 發表:4 回覆:7 積分:2 註冊:2005-10-17 發送簡訊給我 |
|
pwipwi
版主 發表:68 回覆:629 積分:349 註冊:2004-04-08 發送簡訊給我 |
|
MemoryQ
一般會員 發表:4 回覆:7 積分:2 註冊:2005-10-17 發送簡訊給我 |
謝謝pwipwi您的答覆..不過你說的"用TCanvas的Draw就可以畫出來"這個我不太了解,我可以把我的程式附上..請您幫我做修改嗎?
以下就是我寫到一半的Code,目前不知道怎麼將buffer3的東西show到Image上
//------------------------------------------------------------------- #include發表人 - MemoryQ 於 2005/10/31 21:02:48 |
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
MemoryQ
一般會員 發表:4 回覆:7 積分:2 註冊:2005-10-17 發送簡訊給我 |
謝謝您的回答...PO程式碼的方式我會注意的
可是我現在是要顯示buffer3的東西到Image2上耶
我原先的想法是寫一個計數器, 一張存到Bmp1去一張存到Bmp2去, 然後丟到buffer1和buffer2去做相減, 把結果丟到buffer3去, 不知道我這樣寫是不是有錯呢? 而且我不知要怎麼把buffer3的結果show到Image2上, 另外...因為我不知該怎麼寫能對連續的影像做處理所以才會寫了那個計數器, 請問有辦法寫出抓連續的影像到不同buffer去做運算嗎? 煩請大家幫幫忙了..謝謝
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
MemoryQ
一般會員 發表:4 回覆:7 積分:2 註冊:2005-10-17 發送簡訊給我 |
taishyang謝謝您...
我回去把程式稍做了修改..可以請您幫我看看嗎(buffer2的地方我不會寫)
我現在想抓連續的影像一直丟到buffer1和buffer2去
可是不知道怎麼能夠先把第一張丟到buffer1
然後再把第二張丟到buffer1以及把第一張從buffer1丟到buffer2
接下去再把第三張丟到buffer1以及把第二張丟到buffer2
這樣一直下去...其實我有利用搜索功能找影像相減的程式
可是連續丟影像到不同的buffer這個問題我一直無法解決(而且要怎麼讓他在做相減的那個時間buffer1和buffer2的影像是設定在上一張和下一張的呢?)
可以請您幫個忙 指導一下嗎...拜託您了
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
引言:可以請您幫個忙 指導一下嗎...拜託您了建議您先畫個流程圖,然後再寫程式 把目標範圍縮小,比如:影像相減的部份可以先確認是否OK 然後再套用在程式的流程當中 [連續丟影像到不同的buffer] 這部份您可以顯示buffer到Image上就知道這步驟是否正確 然而您在程式中宣告了 Graphics::TBitamp* Bmp = new Graphics::TBitmap();這Bmp就是一個Buffer,不需用再宣告 unsigned char *buffer1...等buffer 至於如何取得影像的像素值,就是靠您程式中的ptr來獲得 有問題再提出 順心 |
MemoryQ
一般會員 發表:4 回覆:7 積分:2 註冊:2005-10-17 發送簡訊給我 |
taishyang您好
謝謝您的指教,原來Bmp就是一個Buffer,我參考了以前人的程式,又做了些修改
可是執行的時候出現 [Linker Fatal Error] Fatal: Unable to open file 'C0W32.OBJ' 這一行字,不知道是什麼問題??
以下..麻煩請您幫我看看好嗎?
void __fastcall TForm1::Timer2Timer(TObject *Sender) { Image1->Picture->LoadFromFile("1.bmp"); //載入圖檔 if (Image1->Picture->Bitmap->Empty==true) { ShowMessage("請載入圖檔!!"); } Graphics::TBitmap* Bmp1=new Graphics::TBitmap; Graphics::TBitmap* Bmp2=new Graphics::TBitmap; Graphics::TBitmap* Bmp3=new Graphics::TBitmap; int x,y,b1,b2,g1,g2,r1,r2,Width,Height,gray1,gray2,gray3; Byte *ptr1, *ptr2,*ptr3; Bmp1=Image1->Picture->Bitmap; Bmp2=Image2->Picture->Bitmap; Bmp3=Image3->Picture->Bitmap; for (y=0; y還有一個問題是..因為我是參考別人這樣做的 可是我不了解這樣子Bmp1和Bmp2存下來的就會是連續上下兩張的影像嗎? 如何確保不會是同一張的呢? 還是這樣寫並不能達到我需要的結果? 可以請您幫我做個修改嗎? 拜託您了 |
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
引言:[Linker Fatal Error] Fatal: Unable to open file 'C0W32.OBJ'此問題可搜尋到解答 引言:還有一個問題是..因為我是參考別人這樣做的 可是我不了解這樣子Bmp1和Bmp2存下來的就會是連續上下兩張的影像嗎? 如何確保不會是同一張的呢? 還是這樣寫並不能達到我需要的結果? 可以請您幫我做個修改嗎? 拜託您了您這段程式的邏輯表示BMP1與BMP2相減且二值化的結果透過BMP3顯示到Image3上 所以您必須加上一段程式碼,讓前後兩張的影像assign給BMP1與BMP2 (在您的程式中是靠Image1和Image2) |
MemoryQ
一般會員 發表:4 回覆:7 積分:2 註冊:2005-10-17 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |