線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:13890
推到 Plurk!
推到 Facebook!
[<<] [1] [2] [3] [4] [>>]

如何運用template與影像做比對

尚未結案
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#62 引用回覆 回覆 發表時間:2003-05-29 18:14:46 IP:140.135.xxx.xxx 未訂閱
newken您好:   先撇開程式內容不談,您知道自己的程式在做什麼嗎??   為什麼我會這樣說,因為您要對一張20*10大小的影像做人臉追蹤???   a與b設為多少??   sum是掃完一個橢圓所累積的值,total是做正規化的動作...    p.s:在您上一篇未結案的問題當中     http://delphi.ktop.com.tw/topic.php?TOPIC_ID=30964 4. 貼程式碼時,請選擇格式中的[#]將您的程式碼包起來會比較方便閱讀< > 順心< > ~我也是在學習的階段,所以請您多多見諒與指教~ 發表人 - taishyang 於 2003/05/29 18:46:45
newken
一般會員


發表:26
回覆:52
積分:15
註冊:2003-03-26

發送簡訊給我
#63 引用回覆 回覆 發表時間:2003-05-29 19:34:56 IP:61.230.xxx.xxx 未訂閱
taishyang你好: 可能你誤會我的意思了,或者我沒講清楚。 我很清楚這一段程式在幹什麼,我是把搜尋範圍設成x=110->130,y=75->85,因為我自己拍了一張人頭在這範圍的影像,然後再試著匹對看看,而且a,b值也是依此設定。 只是我debug的時候,發現為什麼total的值一直累加超過了不正常,我不知原因,才會問你的。
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#64 引用回覆 回覆 發表時間:2003-05-29 21:11:58 IP:140.135.xxx.xxx 未訂閱
newken您好:    
引言: 可能你誤會我的意思了,或者我沒講清楚。 我很清楚這一段程式在幹什麼,我是把搜尋範圍設成x=110->130,y=75->85,因為我自己拍了一張人頭在這範圍的影像,然後再試著匹對看看,而且a,b值也是依此設定。 只是我debug的時候,發現為什麼total的值一直累加超過了不正常,我不知原因,才會問你的。
對不起,我誤會您了,因為正常來說,不會只搜尋那麼小的影像而已 可是您給我information不是很足夠,例如a與b設多少.... 光從您的程式我看不出來問題會出在哪裡(我寫的與您的有很多差異) 您追蹤的效果呢?? 您也沒說您的不正常的值是多少... so... 順心 <>~我也是在學習的階段,所以請您多多見諒與指教~
newken
一般會員


發表:26
回覆:52
積分:15
註冊:2003-03-26

發送簡訊給我
#65 引用回覆 回覆 發表時間:2003-05-29 21:53:55 IP:61.230.xxx.xxx 未訂閱
taishyang你好: sorry,我沒講清楚。我的疑問是: 因為我掃描是重x=110->130,y=75->85,a=50,b=60,然後我把debug的點設在total的那裡,然後案f9,可是每經過一個點total的值就累加變大,譬如說: (110,75),total=18;(111,75),total=39;..........(130,85),total=1889; 我不了解為什麼會這樣
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#66 引用回覆 回覆 發表時間:2003-05-29 21:59:03 IP:140.135.xxx.xxx 未訂閱
newken您好:    我大概知道為什麼了...您的遮罩會不會超過邊緣(超出影像邊界)了??    順心 <>~我也是在學習的階段,所以請您多多見諒與指教~
newken
一般會員


發表:26
回覆:52
積分:15
註冊:2003-03-26

發送簡訊給我
#67 引用回覆 回覆 發表時間:2003-05-29 22:10:16 IP:61.230.xxx.xxx 未訂閱
taishyang你好: 我想應該不會,我的image是320*240,且橢圓的大小與搜尋的範圍並不會超出, 我想的是,total的值不是應該介於0~255,可是每經過一點total的值就越來越大,到最後掃描的一點(130,85)值就最大,橢圓就畫在那邊,我也不值為何? 我在想辦法吧 謝謝你......麻煩了............< >< >
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#68 引用回覆 回覆 發表時間:2003-05-29 22:14:04 IP:140.135.xxx.xxx 未訂閱
newken您好:   記得每掃描一次total要歸零   並且把此時的座標與total值紀錄下來,再掃描下一點若total比前一次大   則更新total及座標,全部掃描完您就知道最像橢圓的位置了      順心 <>~我也是在學習的階段,所以請您多多見諒與指教~ 發表人 -
newken
一般會員


發表:26
回覆:52
積分:15
註冊:2003-03-26

發送簡訊給我
#69 引用回覆 回覆 發表時間:2003-05-29 22:20:47 IP:61.230.xxx.xxx 未訂閱
taishyang你好: 請問怎樣歸零並且紀錄total的值啊
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#70 引用回覆 回覆 發表時間:2003-05-29 22:26:40 IP:140.135.xxx.xxx 未訂閱
newken您好:     
引言:請問怎樣歸零並且紀錄total的值啊
我已經把Key告訴您了,不會要我幫您寫程式吧 歸零:>>~我也是在學習的階段,所以請您多多見諒與指教~
JerryKuo
版主


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

發送簡訊給我
#71 引用回覆 回覆 發表時間:2003-05-30 09:43:32 IP:61.230.xxx.xxx 未訂閱
引言: taishyang你好: 我想應該不會,我的image是320*240,且橢圓的大小與搜尋的範圍並不會超出, 我想的是,total的值不是應該介於0~255,可是每經過一點total的值就越來越大,到最後掃描的一點(130,85)值就最大,橢圓就畫在那邊,我也不值為何? 我在想辦法吧 謝謝你......麻煩了............< >< >
因為你設total>120,就修改座標,而你的sum和total一直累加,迴圈做沒幾次 total愈來愈大,變成每個座標的total都一定大於120,所以當然你只畫最後 一個地方。你是要做尋找"最像"人臉的地方,那是不是要取出一個total最大 的地方.而不是選擇大於120的就可以,依你這樣寫,最後一個修改座標的,就是 最像人臉的地方,你覺得這樣對嗎? 下次有bug,請先確認一下你的程式在做什麼,仔細的確認,因為程式是你寫的 整個流程你自己最清楚,像你這個問題,你都知道會愈加愈大,而你的本意是做一 次模板比對之後,就"重新計算"total值,那你是不是要歸零,不然一定是愈來 愈大,還是你的本意就是想愈來愈大,得到什麼值你不管,你只覺得結果會是你 想要的,完全不考慮你做的對不對。只要想開頭和結果,中間部分丟到討論區 ,自然有好心人替你填上去? 我這個在旁邊看的,都已經將人臉追蹤寫出來了。
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#72 引用回覆 回覆 發表時間:2003-05-30 13:21:54 IP:140.135.xxx.xxx 未訂閱
JerryKuo您好:    
引言:我這個在旁邊看的,都已經將人臉追蹤寫出來了
我一直以為我講的不夠詳細< > 謝謝您的補充,感謝< > ~我也是在學習的階段,所以請您多多見諒與指教~
ptj
一般會員


發表:14
回覆:19
積分:11
註冊:2003-01-21

發送簡訊給我
#73 引用回覆 回覆 發表時間:2003-05-31 05:04:45 IP:61.217.xxx.xxx 未訂閱
嗯 版主講的真的蠻清楚的 我靜態照片眼睛的定位也寫好了 但有個小問題可否請教版主 能夠在有效率的狀況下 將 sin cos中的變數a,b改成能自動調整嗎 
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#74 引用回覆 回覆 發表時間:2003-05-31 09:09:07 IP:140.135.xxx.xxx 未訂閱
ptj您好:   在論文當中有提到,要先決定好您要搜尋人臉大小的範圍   比如說決定好a=20~30,b=30~45    順心 <>~我也是在學習的階段,所以請您多多見諒與指教~ 發表人 -
ufstep
一般會員


發表:8
回覆:11
積分:3
註冊:2002-04-14

發送簡訊給我
#75 引用回覆 回覆 發表時間:2003-11-03 06:05:40 IP:218.164.xxx.xxx 未訂閱
引言: newken您好:
引言:(1)你說紀錄橢圓的中心點,不統計模板的像素質,怎麼又說統計模板上的像素值,不懂 (2)請問怎麼用模板對整張影像作shift,你能不能給我個例子,譬如說幾行程式碼作說明,因為我就是卡在程式上不曉的怎麼implement不然就不會問你了,我並不是要你把所有的程式show給我知,我只是不曉的shift模板這段程式怎麼下手.............
(1)假如不統計模板的像素質,那要統計什麼呢??(您誤會我的意思了) (2)
 
   for (x=0; x < source的寬; x   )
    {
     for (y=0; y < source的高; y   )
      {
        Search();// 之前給您的code
        Total=sum/360; //就是normalized sum of gradient magnitude
      // 並設一臨界值,超過則紀錄每一次的橢圓中心點與Total,統計完後找
      //Maximize the normalized sum of gradient magnitude的那一個位置,
      //就是與臉最match的地方 
      }
    }
   
順心 <>~我也是在學習的階段,所以請您多多見諒與指教~ 發表人 - >< face="Verdana, Arial, Helvetica"> 想請教一下: 我照這麼做在此用了3個for迴圈
 
for (x=0; x < source的寬; x   )
    {
     for (y=0; y < source的高; y   )
      {
        for(int i=1; i<=360; i  )
          //..................    
橢圓模板搜尋變超慢的...畫面都會Delay...why? so我嘗試改成Scanline
for (y =71; yImage1->Height-71 ; y=  )
   {
     ptr2=(Byte *)Bmp->ScanLine[y];
  for (x =51; xImage1->Width-51 ; x=  )
     {          for(k=1; k<=360; k  ) 
         {                    x1=x w*cos(3.1415967*k/180);
                y1=y h*sin(3.1415967*k/180);
                v=(ptr2[x1*3] ptr2[x1*3 1] ptr2[x1*3 2]);
                value[k-1]= v;
                sum =value[k-1];
                total=sum/360;             }
    }
 }
情況改善了一些,but 還是不盡理想 除非我將y 與x 改成 y=y 5 與 x=x 5 每隔五個點搜尋才有較好的改善 但是模板的x與y最小至少要移動5個pixel... 我這麼做有錯嗎?... 可是我看其他FaceDetect的程式的模板好像可微動偵測到1Pixel而不會嚴重的Delay. 2.而且若再加上橢圓板模大小的變化a與b(也就是人臉前後移動的話) 則:
 
 int a,b;
 b=1.2*a;
 
 for (a=10; a<=50; a  )       //橢圓板模大小
     {
       for (y =71; yImage1->Height-71 ; y=  )  //圖Y
          {
             ptr2=(Byte *)Bmp->ScanLine[y];
             for (x =51; xImage1->Width-51 ; x=  ) //圖X
                 {
                   for(k=1; k<=360; k  ) 
                      {
                        //...............
                      }
                  }
           }
  }
四個for迴圈更是慢 是否有人與我一樣,或者是有更好的解決方法呢?
JerryKuo
版主


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

發送簡訊給我
#76 引用回覆 回覆 發表時間:2003-11-03 09:33:16 IP:61.230.xxx.xxx 未訂閱
引言: 想請教一下: 我照這麼做在此用了3個for迴圈
 
for (x=0; x < source的寬; x   )
    {
     for (y=0; y < source的高; y   )
      {
        for(int i=1; i<=360; i  )
          //..................    
橢圓模板搜尋變超慢的...畫面都會Delay...why? so我嘗試改成Scanline
for (y =71; yImage1->Height-71 ; y=  )
   {
     ptr2=(Byte *)Bmp->ScanLine[y];
  for (x =51; xImage1->Width-51 ; x=  )
     {          for(k=1; k<=360; k  ) 
         {                    x1=x w*cos(3.1415967*k/180);
                y1=y h*sin(3.1415967*k/180);
                v=(ptr2[x1*3] ptr2[x1*3 1] ptr2[x1*3 2]);
                value[k-1]= v;
                sum =value[k-1];
                total=sum/360;             }
    }
 }
情況改善了一些,but 還是不盡理想 除非我將y 與x 改成 y=y 5 與 x=x 5 每隔五個點搜尋才有較好的改善 但是模板的x與y最小至少要移動5個pixel... 我這麼做有錯嗎?... 可是我看其他FaceDetect的程式的模板好像可微動偵測到1Pixel而不會嚴重的Delay. 2.而且若再加上橢圓板模大小的變化a與b(也就是人臉前後移動的話) 則:
 
 int a,b;
 b=1.2*a;
 
 for (a=10; a<=50; a  )       //橢圓板模大小
     {
       for (y =71; yImage1->Height-71 ; y=  )  //圖Y
          {
             ptr2=(Byte *)Bmp->ScanLine[y];
             for (x =51; xImage1->Width-51 ; x=  ) //圖X
                 {
                   for(k=1; k<=360; k  ) 
                      {
                        //...............
                      }
                  }
           }
  }
四個for迴圈更是慢 是否有人與我一樣,或者是有更好的解決方法呢? < face="Verdana, Arial, Helvetica"> ufstep你好: 不知你有沒有發現每次比對都要重新建立一個隋圓模板,每次模板都一樣大,只 是起始位置不同,且由於製作隋圓模板用到浮點運算及一堆乘除,加重了所需的時 間。 建議你事先將隋圓模版存成二維陣列,再逐次用二維陣列搜尋影像中的人臉, 不能預測加快多少,不過我當時做的結果,在人臉比對時相當快。 發表人 - jerrykuo 於 2003/11/03 09:35:47
newken
一般會員


發表:26
回覆:52
積分:15
註冊:2003-03-26

發送簡訊給我
#77 引用回覆 回覆 發表時間:2003-11-03 09:42:02 IP:61.30.xxx.xxx 未訂閱
請問jerrykuo: 怎麼使用二維陣列去搜尋影像中的人臉阿 謝謝
JerryKuo
版主


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

發送簡訊給我
#78 引用回覆 回覆 發表時間:2003-11-03 11:06:09 IP:61.230.xxx.xxx 未訂閱
引言:請問jerrykuo: 怎麼使用二維陣列去搜尋影像中的人臉阿 謝謝
newken你好: 小弟的原始程式找不到,下面是臨時寫的,或許有些錯,請自行訂正。
 //製作橢圓模板
 bool  **pattern;
 int   centerx,centery;     pattern = new bool*[h];
 for(int j=0 ; j < h ; j  )
 {
    pattern[j] = new bool[w];
    for(int i=0 ; i < w ; i  )
    {
       pattern[j][i] = false;
    }
 }     centerx = (int)w/2;   //橢圓模板的長寬一定要是單數
 centery = (int)y/2;   //長寬是雙數時,會沒有中心點,
                       //且程式會出錯。
 for(k=1; k<=360; k  ) 
 {
   x1=x w*cos(3.1415967*k/180);
   y1=y h*sin(3.1415967*k/180);       pattern[y1   centery][x1   centerx] = true;
 } 
 //製作橢圓模板結束
 //搜尋人臉,此時人臉影像是已做過灰階->sobel->二值化後的二維陣列
 int sum[Image_Height - h][Image_Width - w];
 int i,j;     for (y = 0 ; y < Image_Height - h ; y=  )  //圖Y;
 {
    for (x = 0 ; x < Image_Width - w ; x=  ) //圖X;
    {
        sum[y][x] = 0; // 歸零;
        for(i = 0; i threshold)
                 { //大於臨界值,加入統計;
                   sum[y][x]  ;
                 }
               }
           }  
        }
    }
 }
統計結果,最大的sum[y][x],就是橢圓模板人臉追蹤法求得的人臉位置, (x centerx , y centery) 為人臉的中心點。
ufstep
一般會員


發表:8
回覆:11
積分:3
註冊:2002-04-14

發送簡訊給我
#79 引用回覆 回覆 發表時間:2003-11-04 15:34:25 IP:218.164.xxx.xxx 未訂閱
引言: 請問jerrykuo: 怎麼使用二維陣列去搜尋影像中的人臉阿 謝謝 前面恕刪 centerx = (int)w/2; //橢圓模板的長寬一定要是單數 centery = (int)y/2; //長寬是雙數時,會沒有中心點, //且程式會出錯。 for(k=1; k<=360; k ) { x1=x w*cos(3.1415967*k/180); y1=y h*sin(3.1415967*k/180); pattern[y1 centery][x1 centerx] = true; <--應該是這理會出錯吧?...因為好像模板會大於陣列...
小弟想請教一下: 若我的w設為50, h為1.2倍的w 那centerx應為25,centery應為30 他就在pattern[j][i]的陣列中間(中心點),為何會出錯呢? 若再將 centerx加上w/2 與 centery加上h/2 來求360度的橢圓模板 照理論來說也應該可行,所以我不太懂為何長與寬要為單數ㄝ 煩請Jerry兄教導一下,謝謝囉
JerryKuo
版主


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

發送簡訊給我
#80 引用回覆 回覆 發表時間:2003-11-04 15:55:17 IP:61.230.xxx.xxx 未訂閱
引言: 小弟想請教一下: 若我的w設為50, h為1.2倍的w 那centerx應為25,centery應為30 他就在pattern[j][i]的陣列中間(中心點),為何會出錯呢? 若再將 centerx加上w/2 與 centery加上h/2 來求360度的橢圓模板 照理論來說也應該可行,所以我不太懂為何長與寬要為單數ㄝ
你好: 抱歉沒注意到,再改一下喔
for(k=1; k<=360; k  ) 
 {
   x1 = ((int)(w/2))*cos(3.1415967*k/180);
   y1 = ((int)(h/2))*sin(3.1415967*k/180);       pattern[y1   centery][x1   centerx] = true;
 }
而為什麼要是單數,可以自己在一個4x4的方格畫一個橢圓看看,會發現 橢圓沒有實質的中心點。而單數5x5 就有實質的中心點。
○●●○     ○●●●○
●○○●     ●○○○●  
●○○●     ●○◎○● 
○●●○     ●○○○●
             ○●●●○
發表人 - jerrykuo 於 2003/11/04 16:21:40
JerryKuo
版主


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

發送簡訊給我
#81 引用回覆 回覆 發表時間:2003-11-04 16:38:25 IP:61.230.xxx.xxx 未訂閱
引言: 請問jerrykuo: 怎麼使用二維陣列去搜尋影像中的人臉阿 謝謝
找到原始碼囉~~
unsigned char **GetEllipseMask(int width,int height)
{ 
  unsigned char  **EllipseMask;
  int              centerx,centery;
  double           a,b;
  int              edge_x,edge_y;
  int              i,j;    /* make a EllipseMask memory space*/
  EllipseMask = (unsigned char **)malloc(sizeof(unsigned char *)*height);
  for( i=0 ; i0)  /* if run to the ellipsemake edge */
     {
      /* check the intensity of the pixel */
       if(image[j   begin_y][i   begin_x] > 128) 
       { /* Pass, it may be a face edge. add count */
        matchcount  ;
       }         }
  }
 
  return matchcount;
}    void traceface(unsigned char **image,int img_w,int img_h,int face_w,int face_h)
{
  unsigned char **ellipsemask;
  int maxmatchpoint = 0,
      matchpoint = 0;
  int face_x,face_y;
  int i,j;    /*---建立一個虛擬的人臉,方便測試---*/
  image = (unsigned char **)malloc(sizeof(unsigned char *)*img_h);
  for( i=0 ; i< img_h ; i  )
  {
     image[i] = new unsigned char[img_w];
     for(j=0 ; j< img_w; j  )
     {
       image[i][j] = 0;                
     }
  }
  ellipsemask = GetEllipseMask(face_w,face_h); 
  for(j=0 ; j0)
       {
        image[j   13][i   6] = 255;     /* 設定虛擬人臉的位置在 (6,13) */
       }           else image[j   13][i   6] = 0;
     }
 }
/*---------------------------------------------------------------------*/    /*-------Search the position of a virtual face-------------------------*/
  for(j=0 ; j < (img_h - face_h); j  )
   for(i=0 ; i < (img_w - face_w); i  )
   {
      matchpoint = SearchMatchPoint(image,ellipsemask,i,j,face_w,face_h);
      
     if(matchpoint > maxmatchpoint)
     {
        maxmatchpoint = matchpoint;
        face_x = i;
        face_y = j;
     }
   }
/*---------------------------------------------------------------------*/
  printf("The center position of face : x = %d, y = %d\n",face_x,face_y);      FreeEllipseMask(ellipsemask,face_w,face_h);  /*free mask memory*/
  for(j = 0 ; j < img_h ; j  )                
    free(image[j]);                            /*free image memory*/
  free(image);
}
ptj
一般會員


發表:14
回覆:19
積分:11
註冊:2003-01-21

發送簡訊給我
#82 引用回覆 回覆 發表時間:2003-11-05 00:24:14 IP:61.217.xxx.xxx 未訂閱
void traceface(unsigned char **image,int img_w,int img_h,int face_w,int face_h) 整個程式有點看不懂 請問一下**image 的定義的值是甚麼呀 發表人 - ptj 於 2003/11/05 00:26:42
JerryKuo
版主


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

發送簡訊給我
#83 引用回覆 回覆 發表時間:2003-11-05 09:21:34 IP:61.230.xxx.xxx 未訂閱
引言: void traceface(unsigned char **image,int img_w,int img_h,int face_w,int face_h) 整個程式有點看不懂 請問一下**image 的定義的值是甚麼呀
image是二維byte指標,在traceface會自動配給image記憶空 間,也就是一張黑色的影像,然後在這張黑色影像任意處畫一 個橢圓,橢圓就是我所謂的虛擬人臉。整支程式就是找這個 橢圓的位置。語法有點古老,見諒。 ※ps: unsigned char = byte 如何使用這支程式: 首先在主程式宣告一個unsigned char **image的二維指標 呼叫traceface()這個函數,自行填入影像的長寬img_w,img_h, 及虛擬人臉的大小長寬face_w,face_h即可,程式內定人臉(6,13) 的位置,也自行更改,因為虛擬人臉是在沒有干擾的最佳狀況下 產生的,所以一定找得到(face_x,face_y)。 這是用c語言寫的,沒有畫面可看,只有結果。 發表人 - jerrykuo 於 2003/11/05 09:22:54
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#84 引用回覆 回覆 發表時間:2003-11-05 21:59:26 IP:140.135.xxx.xxx 未訂閱
大家好: 我把原作者的論文與程式放到下面連結,有興趣的人可以參考看看 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=40094
引言: 因為虛擬人臉是在沒有干擾的最佳狀況下 產生的,所以一定找得到(face_x,face_y)。
原作者下一篇中加入膚色的條件所以干擾的影響又更小了 順心
dean
一般會員


發表:24
回覆:60
積分:21
註冊:2003-08-23

發送簡訊給我
#85 引用回覆 回覆 發表時間:2003-11-12 14:32:35 IP:61.222.xxx.xxx 未訂閱
引言: newken您好:
引言: (1)如何用模板去掃描一張影像,在bcb上 (2)如何統計
(1) 請問您橢圓模板做出來了嗎?? 以橢圓的中心點為準,掃描畫面.. (2) 累計像素值 順心 <>~我也是在學習的階段,所以請您多多見諒與指教~ < face="Verdana, Arial, Helvetica"> 大家好: 請問一下,您說的累計像素值,指的是"橢圓內的面積的所有點",還是指"橢圓的橢圓線上的像素點",一個是橢圓內,一個是畫成橢圓的線上,到底是哪一種的取像素值? **我很想學,但又很不懂,所以一直問蠢問題,希望不要不屑我的問題,嘻嘻嘻**
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#86 引用回覆 回覆 發表時間:2003-11-12 14:37:42 IP:140.135.xxx.xxx 未訂閱
dean您好:
引言: 請問一下,您說的累計像素值,指的是"橢圓內的面積的所有點",還是指"橢圓的橢圓線上的像素點",一個是橢圓內,一個是畫成橢圓的線上,到底是哪一種的取像素值?
橢圓的線上,因為橢圓遮罩的形式也是橢圓的圓周
dean
一般會員


發表:24
回覆:60
積分:21
註冊:2003-08-23

發送簡訊給我
#87 引用回覆 回覆 發表時間:2003-11-12 15:08:08 IP:61.222.xxx.xxx 未訂閱
引言: dean您好:
引言: 請問一下,您說的累計像素值,指的是"橢圓內的面積的所有點",還是指"橢圓的橢圓線上的像素點",一個是橢圓內,一個是畫成橢圓的線上,到底是哪一種的取像素值?
橢圓的線上,因為橢圓遮罩的形式也是橢圓的圓周 < face="Verdana, Arial, Helvetica"> taishyang前輩您好: 照前面這樣說,小弟有一個疑問想請教,位啥只要是橢圓圓周的線上,只要有最大的點就是face?我的意思是說,如果今天有兩個人臉,一個人臉很大很近,另一個人臉比較小,距離比較遠,就沒有辦法找出小臉囉?!因為橢圓線上的累計點數沒有比大臉的多!是不是這個意思? **我很想學,但又很不懂,所以一直問蠢問題,希望不要不屑我的問題,嘻嘻嘻**
JerryKuo
版主


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

發送簡訊給我
#88 引用回覆 回覆 發表時間:2003-11-12 15:37:24 IP:61.230.xxx.xxx 未訂閱
引言: taishyang前輩您好: 照前面這樣說,小弟有一個疑問想請教,位啥只要是橢圓圓周的線上,只要有最大的點就是face?我的意思是說,如果今天有兩個人臉,一個人臉很大很近,另一個人臉比較小,距離比較遠,就沒有辦法找出小臉囉?!因為橢圓線上的累計點數沒有比大臉的多!是不是這個意思?
插個花,^^| 這要看掃描人臉位置的條件! 1.)如果橢圓模板比較小,應該就會找到小臉,比較不會找到大臉。 2.)如果橢圓模板是可變的,可以利用百分比來區分那個模板找得比較對
dean
一般會員


發表:24
回覆:60
積分:21
註冊:2003-08-23

發送簡訊給我
#89 引用回覆 回覆 發表時間:2003-11-12 16:59:32 IP:61.222.xxx.xxx 未訂閱
引言: 插個花,^^| 這要看掃描人臉位置的條件! 1.)如果橢圓模板比較小,應該就會找到小臉,比較不會找到大臉。 2.)如果橢圓模板是可變的,可以利用百分比來區分那個模板找得比較對
JerryKuo您好: 可不可以解釋一下百分比區分模板找的比較對?若在多人模式下,就是要找出多人臉,不管大臉小臉都要找出,那這樣就要用到可變的模板,但是您說利用百分比,這個小弟弄模糊了! 您只的百分比是說,橢圓模板內的像素點的百分比多寡ㄇ?然後假設一個threshold的值為0.75,只要模板內的像素累計點有超過0.75,就是人臉?是這樣ㄇ?還是您有別的意思? **我很想學,但又很不懂,所以一直問蠢問題,希望不要不屑我的問題,嘻嘻嘻**
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#90 引用回覆 回覆 發表時間:2003-11-12 17:40:42 IP:140.135.xxx.xxx 未訂閱
dean您好: 您的問題,答案都在論文中,不曉得您看過了嗎?
JerryKuo
版主


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

發送簡訊給我
#91 引用回覆 回覆 發表時間:2003-11-12 17:43:30 IP:61.230.xxx.xxx 未訂閱
Dean你好: 關於搜尋多個人臉,可不可以請你開個新主題,請大家共同討論 這個主題包涵文章很多,最後連程式都post出來,但持續有很多問題 主因於這主題基本上就需要很多的影像處理配合實現,例如:影像轉灰階 sobel邊緣搜尋,雜訊處理,製作模板比對,膚色比對...等等。因此累積 相當多的文章,包涵許多領域,若要查看,著實不易。 所以我想請大家以此篇文章為主體,將這主題"人臉追蹤"細分討論, 發表主題開頭為"人臉追蹤",依細部處理的方法領域,接在人臉追蹤之後 例如:人臉追蹤-製作模板比對
[<<] [1] [2] [3] [4] [>>]
系統時間:2024-07-02 9:24:19
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!