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

兩個點相比...怎樣才叫最相近呢??

尚未結案
kunawa
一般會員


發表:17
回覆:8
積分:5
註冊:2004-04-30

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-09-12 18:42:23 IP:203.203.xxx.xxx 未訂閱
大家好: 小弟想做個物件追蹤 我的方法是先給予電腦一個rgb值(也就是在物件上找個點)... 然後接下來在影片轉成的那些圖片裡...我就讓電腦依這個點來尋找 ex:第一張圖片找到這個點...而第二張圖片因為物件有些許移動...    所以我就找它的四面八方...也就是九宮格...找到最接近原來那個點的..    我就視它為下一個目標點... 不過我很單純的以為只要把rgb三個值加起來去跟另外那九個點相減... 差異最小的我就視為下一個點.. 然後第三張圖片再依第二張圖片找的那個點來向外跟那八個點比較 可是出來的結果並不如預期 請問要怎樣去比較rgb三個值才算是最接近的點呢??  以下是我的寫法...可是不知道爲什麼它都沒有跟著物件..而是一直停在原地 請問我是哪裡寫錯了...或是想錯了呢?? 謝謝
   ...
  if(buffer1_B[row][col]==B && buffer1_G[row][col]==G && buffer1_R[row][col]==R)
  {
     /*我先開一張圖片取得物件上的某一點...然後讓電腦記住這一點的位址(x,y)...之後的圖片都直接在min_row和min_col這個點上找
     min_row = row;
     min_col = col;
  }     for(int x=0; x < 130; x  )
 {
   //因為有130張圖片...所以讀130次
   int min = 256;//隨便設一個值
   float temp;
   for(int row = 0; row < Height; row  )
   {
     ptr2 = (Byte *)Bmp2->ScanLine[row];
     for(int col = 0; col < Width; col  )
     {
       buffer2_B[row][col] = ptr2[col*3];
       buffer2_G[row][col] = ptr2[col*3 1];
       buffer2_R[row][col] = ptr2[col*3 2];
     }
   }       for(int x = -1; x < 2; x  )
   {
     for(int y = -1; y < 2; y  )
     {//這是我參考paper上的公式
       temp = sqrt((buffer2_B[min_row y][min_col x]-B)*(buffer2_B[min_row y][min_col x]-B) (buffer2_G[min_row y][min_col x]-G)*(buffer2_G[min_row y][min_col x]-G) (buffer2_R[min_row y][min_col x]-R)*(buffer2_R[min_row y][min_col x]-R));
       if(temp < min)
       {
         min = temp;
         min_row = min_row y;
         min_col = min_col x;
       }
     }
   }
   //找出的這個點就當成下一次比較的點...
   B = buffer2_B[min_row][min_col];
   G = buffer2_G[min_row][min_col];
   R = buffer2_R[min_row][min_col];
  ...    
JerryKuo
版主


發表:42
回覆:571
積分:322
註冊:2003-03-10

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-09-14 15:00:43 IP:220.135.xxx.xxx 未訂閱
你好: 因為你是用點去搜尋,所以不確定你的用法是否就是block-match 有興趣可以搜尋一下block-match的文章,或許對你有幫助。 然而,你用rgb去搜尋點的運動位移並不是很理想,因為肉眼辨識的彩色,雖然 顏色相近,但事實上,rgb卻相差很多。建議你改用單一值作為比較會比較好。 也就是把rgb三原色轉成YUV,Y的意義就是像素的強度。利用Y值做比較的效 果會好很多。
系統時間:2024-05-21 3:34:33
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!