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

請問有關於動態影像處理

缺席
student38
一般會員


發表:22
回覆:13
積分:7
註冊:2010-04-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2010-10-05 12:26:16 IP:120.114.xxx.xxx 訂閱

[code cpp]
//===將 Pane1 的畫面抓下來顯示在 Image上面=====
TCanvas *csBuf1 = new TCanvas;
HDC hDC1 = GetDC(Panel1->Handle);
csBuf1->Handle = hDC1;
Graphics::TBitmap *CapImg1 = new Graphics::TBitmap();
CapImg1->Width = Panel1->Width;
CapImg1->Height = Panel1->Height;
CapImg1->Canvas->CopyRect(Rect(0, 0, CapImg1->Width, CapImg1->Height),
csBuf1,
Rect(0, 0, Panel1->Width, Panel1->Height));
Image5->Picture->Assign(CapImg1); //顯示辨識過 WB抓取影像
Form2->Image1->Picture->Assign(CapImg1); //擷取圖片影像顯示
Form2->Image2->Picture->Assign(CapImg1); // 圖片灰階顯示地方
ReleaseDC(0, hDC1);
delete CapImg1;
//=========WebCam 1 之影像灰階化 =========================
Graphics::TBitmap *Bmp1=new Graphics::TBitmap();
Byte *ptr1;
int grey;//用來存灰階化後的值
float count[256]={0}; //各色階計數
Bmp1->PixelFormat=pf24bit ;
Bmp1->Assign(Form2->Image1->Picture->Bitmap); // 將Image1的Bitmap轉存到TBitmap Bmp
//=======灰階==========
for (int j=0; jHeight-1 ;j )
{
ptr1=(Byte *)Bmp1->ScanLine[j];

//ptr2=(Byte*)Bmp2->ScanLine[j];
for (int i=0; iWidth-1; i )
{

int b=ptr1[i*3];
int g=ptr1[i*3 1];
int r=ptr1[i*3 2];
int gray=0.299*r 0.587*g 0.114*b;
ptr1[i*3]=(Byte)gray;
ptr1[i*3 1]=(Byte)gray;
ptr1[i*3 2]=(Byte)gray;
// count[grey]; //灰階化後的各色階的計數
}
}
Form2->Image2->Picture->Bitmap->Assign(Bmp1);
[/code]

以自行解決,原來是忘了指定!

編輯記錄
student38 重新編輯於 2010-10-05 12:32:53, 註解 無‧
student38 重新編輯於 2010-10-08 17:32:48, 註解 無‧
student38 重新編輯於 2010-10-11 15:10:03, 註解 無‧
系統時間:2024-04-18 10:04:07
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!