線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1991
推到 Plurk!
推到 Facebook!

如何尋找最佳的邊界

尚未結案
kai-chun
一般會員


發表:6
回覆:5
積分:2
註冊:2003-05-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-06-11 16:15:57 IP:140.126.xxx.xxx 未訂閱
請問個位大大:     小地在做一個即時監控的程式,做到一個部分遇到了難題,不知道怎麼解決     我想抓去右圖中瓶子的邊界,但是因為處理完影像相減,瓶子影像某些部分不     見ㄌ~~但是我想要抓到瓶子的邊界....請問有沒有辦法阿                                                    
taishyang
站務副站長


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-06-11 16:27:54 IP:140.135.xxx.xxx 未訂閱
kai-chun您好:   您可以用SOBEL遮罩達到您的需求   如圖所示    順心 <>~我也是在學習的階段,所以請您多多見諒與指教~
kai-chun
一般會員


發表:6
回覆:5
積分:2
註冊:2003-05-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-06-12 01:02:15 IP:61.216.xxx.xxx 未訂閱
taishyang您好:       我想妳誤解我的意思ㄌ,也許是我表達的不夠清楚,右邊是已經做影像相減       後的影像,而且我放在計時器裡面,然後經由一些處理而得到的影像,所以       會有lag導致的殘影,我想問的是經由右邊的圖有沒有辦法將瓶子的缺口補       齊(手不用處理),類是下圖紅色標示,不知有沒有辦法做到(運用影像處理)        謝謝你的回應~~~我還在努力成長~~^^
taishyang
站務副站長


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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-06-12 01:08:47 IP:140.135.xxx.xxx 未訂閱
kai-chun您好:    您用差量影的方式來做很容易會有這樣的結果,假如移動的速度不平均    斷掉的效果更是明顯    假如用SOBEL的方式偵測邊緣並取適當的臨界值做二值化應該就可以達到您要    的效果了    因為我沒有您的背景畫面,假如去掉背景再做SOBEL效果會更好 如下圖所示 < src="http://delphi.ktop.com.tw/loadfile.php?TOPICID=10084873&CC=225547"> 順心 <>~我也是在學習的階段,所以請您多多見諒與指教~ 發表人 -
JerryKuo
版主


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

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-06-12 09:14:03 IP:210.68.xxx.xxx 未訂閱
kai-chun 你好: 如果要補邊,可以將你處理過的圖,用膨脹法試試看 用一個3x3的遮罩 計算(x,y)及其八鄰邊共九個點的最大值 填入(x,y) 如果你的缺口比較大,就多膨脹1,2次
bio
一般會員


發表:42
回覆:36
積分:20
註冊:2003-03-05

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-06-12 22:31:11 IP:140.135.xxx.xxx 未訂閱
我來補充一下 可以用JerryKuo兄所說的先膨脹 但膨脹過度會導致失真,所以我覺得你可以先膨脹再侵蝕 侵蝕的用法大致如下 意為:以正在處理的(i,j)點為主,其八方位的點若都為實點 即保留(i,j),若只要八方位裡有任何一個位置出現空點,則 (i,j)令為0 如此可把斷點膨脹後連結起來,再由侵蝕削去膨脹的部分 但是原先斷點以被連結了    另外我覺得阿 你可以先對你的原始影像先作中值濾波後 會對邊緣雜訊點有效好的濾除效果,而且也有補斷點的功能    int __fastcall TForm1::ErFilter(int i,int j) {  int t,num=9; //word0[i][j]為3*3的遮罩  int P1[9];  int x,y;  P1[0]=word0[i  ][j];  P1[1]=word0[i+1][j];  P1[2]=word0[i+1][j+1];  P1[3]=word0[i][j+1];  P1[4]=word0[i-1][j+1];  P1[5]=word0[i-1][j];  P1[6]=word0[i-1][j-1];  P1[7]=word0[i][j-1];  P1[8]=word0[i+1][j-1];  x=P1[0]&P1[1]&P1[2]&P1[3]&P1[4]&P1[5]&P1[6]&P1[7];  if(P1[0]==1&&x==1)  {   return (P1[0]);  }    } //--------------------------------------------------------------------------- //-------------------------------------------------------- for(i=1;i<20;i ) { for(j=1;j<30;j ) { word0[i][j]=ErFilter(i,j); //ErFilter()是侵蝕函數 } }
bio
一般會員


發表:42
回覆:36
積分:20
註冊:2003-03-05

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-06-13 16:58:59 IP:140.135.xxx.xxx 未訂閱
您好 我做出來的結果是如下,第一張圖為膨脹四次的結果 第二張圖為侵蝕兩次的結果,因為剛好作四次侵蝕後可以補起斷點 但輪廓已失去原始輪廓,若且侵蝕兩次則下面那個斷點會再度斷開 因為那個斷點太大拉。 但是我覺得你的圖二值化結果不太好,不曉得您用什麼方法 二值化臨界若取的好的話,可以避免斷點發生喔    
kai-chun
一般會員


發表:6
回覆:5
積分:2
註冊:2003-05-28

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-06-13 18:38:16 IP:140.126.xxx.xxx 未訂閱
謝謝各位~~~ 小弟我有試過 >)請各位前輩有好的 建議可以提供小弟做參考~~~~~~ <>~我在這方面還有很多要學習的如果有用詞不當請多多包涵~
taishyang
站務副站長


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

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-06-13 19:01:28 IP:140.135.xxx.xxx 未訂閱
kai-chun您好:   追蹤的課題我也做了不少,但最重要的還是要看您所[鎖定]的目標為何??   自然就有不同的方式...   您的斷點出現的原因大致分成下面兩點   (1)移動速度的不平均,因為我有親身體驗   (2)背景過於複雜(或是物件本身與背景顏色相似)   您重心位置一定要很準嗎??斷的不嚴重還是抓得到的   不要對逐一像素點作掃描,可以一次多跳幾個pixel速度快,效果也不錯    順心 <>~我也是在學習的階段,所以請您多多見諒與指教~
kai-chun
一般會員


發表:6
回覆:5
積分:2
註冊:2003-05-28

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-06-13 19:53:05 IP:140.126.xxx.xxx 未訂閱
for taishyang:      謝謝你一再的指導,可是你最後說的那段我有點不懂,重心位置不一定要      很準,不要對逐一像素點作掃描,可以一次多跳幾個pixel速度快,這句不太明白~~可否再講明白一點~~ < >~謝謝各位~感恩< >
taishyang
站務副站長


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

發送簡訊給我
#11 引用回覆 回覆 發表時間:2003-06-13 20:05:55 IP:140.135.xxx.xxx 未訂閱
kai-chun您好:   不好意思沒有表達清楚,當您要求出物件的重心的話,一開始要把物件框選住   但若你是對每一點的像素做掃描,影像的大小與處理的時間有絕對的關係   所以不要對每一點像素做掃描,可以一次隔個pixel做掃描...   可以避開斷點(不一定),處理的速度也會加快   像我學長做車牌辨識,剛開始也是先做初步掃描(隔10個pixel掃)   大約找到車牌位置後再做細部掃描...    順心 <>~我也是在學習的階段,所以請您多多見諒與指教~ 發表人 -
JerryKuo
版主


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

發送簡訊給我
#12 引用回覆 回覆 發表時間:2003-06-16 09:44:42 IP:61.230.xxx.xxx 未訂閱
你好: 你所說的有點像是影像分割,小弟這有二個想法,你可以參考看看 1.用你原來的方法,只是兩張相減的圖,都先做過低通濾波(這可以先濾掉不必要 的雜訊),然後再相減,這樣得到邊緣應該會得到改善。 2.另一個方法:使用運動估測,因為你的背景是不動的,只有罐子和手會動,所 以如果用運動估測,可以很容易取得罐子的位置。這是用連續影像的特點來 擷取物件,很多影像分割都會先用這個方法,依照取得的精準度,再做更精細 估測。你可以找找motion compensation/estimation及image segmentation 相關的論文。(雖然這有點離題,可以參考看看^^)
kai-chun
一般會員


發表:6
回覆:5
積分:2
註冊:2003-05-28

發送簡訊給我
#13 引用回覆 回覆 發表時間:2003-06-18 21:53:41 IP:163.28.xxx.xxx 未訂閱
謝謝各位、尤其是taishyang的熱烈回應:     我試過ㄌtaishyang的建議,但是還是會有影像模糊的時候,我有找到一篇     論文和一本書它上面是說用【連續三張影像做差分影像處理】可以解決此問     題,所以我想用這個方式先試試    謝謝各位如果有新的發現我會 > <>~祝各位都順心 感恩~
taishyang
站務副站長


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

發送簡訊給我
#14 引用回覆 回覆 發表時間:2003-06-18 22:02:11 IP:140.135.xxx.xxx 未訂閱
kai-chun您好:    請問您要追蹤的[目標]是什麼物體呢??    處理的影像大小為何??    或許其他的高手有更好的idea呦< > 順心< > ~我也是在學習的階段,所以請您多多見諒與指教~
kai-chun
一般會員


發表:6
回覆:5
積分:2
註冊:2003-05-28

發送簡訊給我
#15 引用回覆 回覆 發表時間:2003-06-20 00:23:49 IP:163.28.xxx.xxx 未訂閱
感謝taishyang的熱心幫忙:     我所要處理的物體並不一定,影像大小320×320(也不是一定要這樣大小)     希望各位有好的意見可以告知小弟,而我有解決的方法也會上傳給大家      < >~謝謝大家 祝順心~< >
系統時間:2024-05-05 19:37:20
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!