請問有關於動態影像處理 |
缺席
|
student38
一般會員 ![]() ![]() 發表:22 回覆:13 積分:7 註冊:2010-04-14 發送簡訊給我 |
[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; j { ptr1=(Byte *)Bmp1->ScanLine[j]; //ptr2=(Byte*)Bmp2->ScanLine[j]; for (int i=0; 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] 以自行解決,原來是忘了指定! |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |