想請教一個有關影像處裡的問題 |
尚未結案
|
marlborok
一般會員 發表:2 回覆:1 積分:0 註冊:2005-01-19 發送簡訊給我 |
這學期專題做"足球機器人之影像處理"
其動作大致上是:由ccd擷取影像-->傳回電腦-->對擷取到的影像做處理-->再傳回電腦作判斷下策略-->傳給機器人執行動作.
而我的工作就是前三項"由ccd擷取影像-->傳回電腦-->對擷取到的影像做處理"
但現在用c builder做到了擷取影像並且做到了存成".bmp"檔.
可是對影像處理一點頭緒也沒有!
想請問各位前輩,假如我擷取到的畫面是足球場地和場地上的一顆球,足球是黃色的,足球場地為綠色底及白色邊線.
要怎麼樣才能做到說,按滑鼠左鍵點球,而螢幕上會處理成只有留下球(黃色),而其他場地上的顏色都會變成黑色,並顯示球的座標?
謝謝!!!
專題啊.....讓我過吧!!! 發表人 - taishyang 於 2005/01/19 09:26:57
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
您好:
引言: 可是對影像處理一點頭緒也沒有! 想請問各位前輩,假如我擷取到的畫面是足球場地和場地上的一顆球,足球是黃色的,足球場地為綠色底及白色邊線. 要怎麼樣才能做到說,按滑鼠左鍵點球,而螢幕上會處理成只有留下球(黃色),而其他場地上的顏色都會變成黑色,並顯示球的座標?影像處理問題版上已有相當多的討論,可以搜尋到你要的資訊 您的問題直覺上可利用HSI, HSV...等轉換色彩座標的方式將黃色部份取出 且減少光線影響的程度,再利用Connect Component的方式獲得物件的座標 其中的關鍵字都能從版上獲得參考資料與程式碼 順心 <>~我也是在學習的階段,回答的不好請您多多見諒與指教~> |
1666362
初階會員 發表:66 回覆:124 積分:43 註冊:2004-07-07 發送簡訊給我 |
您好 請參考下列程式碼
int pr, pg, pb; void __fastcall TForm1::Image1MouseMove(TObject *Sender, TShiftState Shift, int X, int Y) { TColor color = Image1->Picture->Bitmap->Canvas->Pixels[X][Y]; int r, g, b; r = GetRValue(color); g = GetGValue(color); b = GetBValue(color); AnsiString msg; msg.printf("(%d, %d, %d)", r,g, b); Label1->Caption = msg; } //--------------------------------------------------------------------------- void __fastcall TForm1::Image1MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { TColor color = Image1->Picture->Bitmap->Canvas->Pixels[X][Y]; pr = GetRValue(color); pg = GetGValue(color); pb = GetBValue(color); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { int range = 20; //自行修改範圍 修正到您要的 Byte * ptr; Image1->Picture->Bitmap->PixelFormat = pf24bit; for (int row=0; row發表人 - 1666362 於 2005/01/19 19:28:26 |
marlborok
一般會員 發表:2 回覆:1 積分:0 註冊:2005-01-19 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |