看板 C_Sharp 關於我們 聯絡資訊
各位先進好: 我目前正以C#寫關於影像處理的一些程式 現階段想完成 Connected Component Labeling 的程式撰寫 但是遇到了瓶頸,在無法解決的情況下,想跟各位請教實現方法 我大致上了解,整個物件連通的方法(包含,4連通及8連通) 也實際寫過一次,但是整體上來說,是失敗的! 原因是因為在區域編號的部分,我每次判斷到當前編號與某編號有關連, 就直接整個改寫編號,這無形中處理次數會大量增加,遇到簡單的小圖片 16 x 16 確實能完成,但是遇到 320 x 240 大小的圖片,整個處理速度 就會慢到一個誇張的境界,運算時間完全無法使用在即時的處理上。 後來多方參考資料後,了解原來編號只是先記錄成一個集合,方便後面可 以改寫成一樣的編號,如此編號的改寫會大量減少,運算時間也會縮短, 如此,便可以嘗試用於即時的處理上。 ---------------------------問題描述如上--------------------------- ☆假設1 set1 = {1, 2, 3, 4} set2 = {5, 6} 我目前產生集合的方式以 ArrayList 為主。 若區域編號不在這兩個集合(set1, set2)內,則產生新的集合,如 set3 = {7} ☆假設2 set1 = {1, 2, 3, 4} set2 = {5, 6, 7, 8, 9} 發現 set2 的編號9 與 set1 的編號4 有關,必須將 set2 整合到 set1 內 則可得 set1 = {1, 2, 3, 4, 5, 6, 7, 8, 9} 並且將 set2 刪除 由於這似乎需要產生二維動態陣列,所以想請教各位前輩這方面的技巧 或者有更容易實作物件連通區域標示方法,也請指教 XD -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.122.79.51