請問各位有沒有型態學(侵蝕與膨脹)詳細的方程式介紹? |
尚未結案
|
auslk
初階會員 發表:35 回覆:77 積分:32 註冊:2003-02-17 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
auslk您好:
您可以參考小弟的拙作
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=40159
【發表】影像處理VI 順心 <>~我也是在學習的階段,回答的不好請您多多見諒與指教~>
|
auslk
初階會員 發表:35 回覆:77 積分:32 註冊:2003-02-17 發送簡訊給我 |
Dear taishyang板主, 小弟有拜讀您的程式 定義:
//-----------------------------------------------
x=p[1]+p[2]+p[3]+p[4]+p[5]+p[6]+p[7]+p[8]+p[9];
if(x<0)
x=(-1)*x;
//-----------------------------------------------
x=p[1]&p[2]&p[3]&p[4]&p[5]&p[6]&p[7]&p[8]&p[9];
if(x<0)
x=(-1)* x;
//----------------------------------------------- 與我在實作的時候,會出現問題 *. 以上兩個動作目的 可作為 濾雜訊 (小點 或 填補小洞)
這兩個動作最主要延伸到 Opening &Close
使用您的程式時,您可以看一下邊緣處
Step:
1.二值化後 膨脹
2.做兩次膨脹後,會產生 白邊緣 所以我想在更詳細了解膨脹與侵蝕這兩個程序定義與程式的實作
(我也在準備程式實作中,希望您能協助小弟!) Best Regards,
Pauli
02/05/04'
引言: auslk您好: 您可以參考小弟的拙作 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=40159 【發表】影像處理VI 順心 <>~我也是在學習的階段,回答的不好請您多多見諒與指教~> >>< face="Verdana, Arial, Helvetica"> |
JerryKuo
版主 發表:42 回覆:571 積分:322 註冊:2003-03-10 發送簡訊給我 |
auslk你好: 提供我的作法:
二值化之後:
1.膨脹:判斷影像中每一個像素(x,y)的相鄰八點,如果八點中有存在一個點以上,
則(x,y)此點將被膨脹,填上一個點.
2.侵蝕:判斷影像中每一個像素(x,y)的相鄰八點,如果八點中有存在一個以上空
的點,則(x,y)此點將被侵蝕,填上空的點. 至於白邊的產生,可能是邊邊的地方沒有特別處理,因為在邊邊的點,其相鄰的點
都不足八個...不能套用上面的作法。不過照上面的觀念,很容易解決邊邊的點問
題。 發表人 - jerrykuo 於 2004/02/05 09:58:54
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
auslk
初階會員 發表:35 回覆:77 積分:32 註冊:2003-02-17 發送簡訊給我 |
您好! 我是二值化後,才做Opening &Closing.....
理論來說應該為 255 或 0
所以我一直很納悶~ (1.原始影像 2.3.二值化影像)
不知您有何建議? Best Regards,
Pauli
02/04/04'
引言: auslk您好:引言:Step: 1.二值化後 膨脹 2.做兩次膨脹後,會產生 白邊緣會有白邊緣是必然現象,因為Source的邊緣本來就是白色的邊 所以一經過膨脹白邊就更加突顯出來了 順心 <>~我也是在學習的階段,回答的不好請您多多見諒與指教~> >>< face="Verdana, Arial, Helvetica"> 發表人 - auslk 於 2004/02/05 14:59:59 |
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
auslk
初階會員 發表:35 回覆:77 積分:32 註冊:2003-02-17 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
auslk您好:
我了解您的意思了,當初沒考慮那麼多(很久以前的程式)...
請改成這樣< class="code">
Expend=(p[1] p[2] p[3] p[4] p[6] p[7] p[8] p[9]); //膨脹
if (Expend>=255)
return 255;
else
return 0;
//--------------
Erosion=(p[1]&p[2]&p[3]&p[4]&p[5]&p[6]&p[7]&p[8]&p[9]);//侵蝕
return Erosion; 順心 <>~我也是在學習的階段,回答的不好請您多多見諒與指教~> 發表人 -
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
cheng8210
一般會員 發表:2 回覆:3 積分:1 註冊:2010-12-21 發送簡訊給我 |
taishyang你好,
我參考了您提供的膨脹侵蝕 與相關的書來對照 想請教t大 在膨脹侵蝕下面的 if 判斷式 是怎麼考慮出來的呢? 若以膨脹來說 只要鄰近像素有一個為1, 就將中心像素填為1, 因此用or的作法 照理說,將鄰近相素全用加法做完or運算後,應該都是>=0 t大為什麼需要做<0的判斷呢? //----------------------------------------------- x=p[1] p[2] p[3] p[4] p[5] p[6] p[7] p[8] p[9]; if(x<0) x=(-1)*x; //----------------------------------------------- x=p[1]&p[2]&p[3]&p[4]&p[5]&p[6]&p[7]&p[8]&p[9]; if(x<0) x=(-1)* x; //----------------------------------------------- |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |