麻煩指點一下~BCB影像問題 |
答題得分者是:JerryKuo
|
visuala
一般會員 發表:33 回覆:39 積分:14 註冊:2003-04-01 發送簡訊給我 |
新手多多包含~
我是先利用兩張圖做比對的測試 以下是我的程式碼
Image2是背景,Image3是背景+前景,比對之後把Image的前景框住
我的問題是當前景景物有很多個時(EX:3個人)~目前還是只會以最大的範圍框出
所以想改寫成可以單獨框出每個前景要怎麼改比較好呢
可以直接該還是重新改寫比較好勒...麻煩指導一下 不太懂><... void __fastcall TForm1::Button6Click(TObject *Sender)
{
if (Image2->Picture->Bitmap->Empty==true)
ShowMessage("請載入圖檔!!"); COLORREF c1,c2;
int x1,y1,x2,y2,key=0;
//key=0表第一個不同的點,key=1表除了第一點的其他 點,x1=Xmin,x2=Xmax,y1=Ymin,y2=Ymax
int a1,b1; for(b1=0;b1<241;b1 )
for(a1=(a1%2?0:1);a1<321;a1 =2)
{
c1=::GetPixel(Image2->Canvas->Handle,a1,b1);
c2=::GetPixel(Image3->Canvas->Handle,a1,b1);
if(c1!=c2&&key==0)
{
y1=b1;
y2=b1;
x1=a1;
x2=a1;
key ;
} if(c1!=c2&&key==1&&a1
|
JerryKuo
版主 發表:42 回覆:571 積分:322 註冊:2003-03-10 發送簡訊給我 |
你好: 看到這個問題,其實只要用點影像分割的技巧就能找到了,以下請用想像的^^
沒力氣畫圖。 1.輸入偵測的圖片減其背景圖得到數個分開的前景物件,有相連就當做一個物件
,減去的背景地方用黑色取代,前景物件以白色取代 2.再用邊緣濾鏡(如:高通濾波),得到每個物件外形 3.以八鄰邊方法搜尋每個物件外形像素,求得物件的位置(最上,右,左,下界)。
並將物件清楚,以利求得下一個物件位置。 4.搜尋完第一個,就可以再以第3步驟搜尋第二個物件,第三個物件
直到都沒有物件外形,結束。 參考看看,程式應該不難寫....
|
visuala
一般會員 發表:33 回覆:39 積分:14 註冊:2003-04-01 發送簡訊給我 |
|
JerryKuo
版主 發表:42 回覆:571 積分:322 註冊:2003-03-10 發送簡訊給我 |
|
visuala
一般會員 發表:33 回覆:39 積分:14 註冊:2003-04-01 發送簡訊給我 |
|
JerryKuo
版主 發表:42 回覆:571 積分:322 註冊:2003-03-10 發送簡訊給我 |
引言: 因為沒學過影像處理的課程... 本來想用直觀的演算法來解...可是想不到很可行的方式 ~請問一下...用getpixel 比較 RGB的方式 有沒有辦法把<<數個已經分開的前景物件(和前景相減後)>> "判定出是否相連,並且個別找出其座標:個別框出其範圍出來嘛?" 因為我用getpixel同一線上的多個物體..不知道座標該如何取捨visuala你好: 很高興你找到問題的主題了,可否給文章重新訂個明顯的標題,以便 其他朋友查詢。 既然你已經想出方向(藍色部分),就試著寫看看,或做個實驗,用手畫 看看,發揮程式設計的精神。 在寫程式上,如果有遇到問題,再請教大家 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |