Skip to main content

數位影像處理:改進基於線性時間元件標籤演算法

改進基於線性時間元件標籤演算法

我們的論文被2019資訊科技與實務研討會所接受。會議地點在台灣銘傳大學資訊學院,會議日期為2019年3月15日。

我們提供了我們研究的文件,即CCL的原始碼,FastCCL執行檔和實驗檔案。 這些文件在GitHub中,超連結是https://github.com/laitaiyu/ImageProcessing__FastLCL

本文提出了一種新的高性能線性時間演算法,採用輪廓跟踪技術,這些輪廓採用二值化影像。該演算法的主要步驟是使用輪廓追踪技術來檢測每個部件的外部輪廓,並且還識別和標記每個部件的內部區域。標記在影像上一次完成。而且,在整個過程中不需要重新標記。本研究改進了張復[1]等人的LCL演算法。我們的演算法比LCL演算法更快更好。對各種類型影像(字符,半色調圖片,照片,報紙等)的實驗表明,我們的方法優於使用等效技術的方法。我們的演算法不僅標記組件,而且能夠提取輪廓點的組件輪廓和連續順序,這對於許多應用都很有用,例如OCR(光學字符讀取器),視頻分析中的對象跟踪等。製作LCL演算法,以證明所提出的方法更快。

張復等人,在2004年,他們提出LCL演算法是基於輪廓的標記演算法之一。 LCL演算法具有以下優點。首先,它只需要掃描一次影像。由於上述輪廓追踪程序,輪廓點被多次訪問,但不超過一定的次數。其次,它不需要任何重新標記處理。將標記索引分配給像素後,其值將保持不變。第三,我們獲得了輪廓像素的所有輪廓和連續順序的副產品。

然而,當LCL演算法遇到半色調影像或許多孤立點時,它往往花費很多時間在輪廓跟踪上。這是一個缺點。首先,我們提出了一種隔離點處理,以提高性能。我們建立一個孤立點處理以預先標記孤立點。為了檢查孤立點,有一個優點是減少了不必要的輪廓跟踪。因為孤立點永遠不會有輪廓。像素只是一個單點,沒有相鄰像素。 LCL演算法遇到仍然跟踪輪廓的孤立點。我們改進了LCL與孤立點相關的缺點。其次,我們提供了一種新的影像處理流程,以改善半色調影像和孤立點的處理,並且沒有副作用。為了添加孤立點處理,我們設計了一個新的影像處理流程。如果我們發現像素是孤立點,則應將其包含在隔離處理中。一方面,如果像素處於輪廓中,則應將其包括在輪廓跟踪中。

孤立點處理:檢查每個像素以查看它是否被隔離。如果像素是孤立點;然後,它指向標籤影像。原始LCL演算法不將孤立像素視為孤立;它們被傳遞為追踪輪廓。但是,如果它是一個孤立點,則不應該有任何連接像素。因此,在我們提出的模型中不需要再次進行跟踪。

輪廓跟踪:此步驟跟踪對象輪廓。跟踪輪廓時,連接輪廓像素被寫入輪廓影像。

本文提出了一種高性能的線性時間元件標籤演算法。該演算法在具有復雜紋理的不同分辨率下正確標記對象。提出的方法有四個優點。首先,直接標記孤立的像素。那是為了實現更低的處理時間。其次,輪廓跟踪為所有對象提供了標籤號,同時建立了輪廓影像。第三,輪廓跟踪非常有效。通常,找到下一個位置需要五個步驟。但是,這種掃描方法僅使用最小步驟來查找輪廓。第四,我們改進了影像處理流程,沒有副作用。這項研究是一個開源研究,超連結是https://github.com/laitaiyu/ImageProcessing__FastLCL

[1] F. Chang, C-J. Chen, and C-J. Lu, "A Linear-Time Component-Labeling Algorithm Using Contour Tracing Technique," Computer Vision and Image Understanding, volume 93, number 2, pages 206-220, January 2004.

Comments

Popular posts from this blog

Python 日期與時間的處理

Visual Basic 6.0 (VB6) 程式語言案例學習 (10. 條碼列印程式)

寫作:波蘭文學習之旅:1-1. 波蘭文字母與發音(注音版)

Python 日期與時間的處理

Image

Visual Basic 6.0 (VB6) 程式語言案例學習 (10. 條碼列印程式)

Image

寫作:波蘭文學習之旅:1-1. 波蘭文字母與發音(注音版)

Image

數位影像處理:最佳化處理策略之快速消除扭曲演算法

Image

Visual Basic .Net (VB.Net) 程式語言案例學習 (06. 題庫測驗系統)

Image

用10種程式語言做影像二值化(Image binarization)

Visual Basic 6.0 (VB6) 程式語言案例學習 (04. 人事考勤管理系統)

Image

修復損毀的 SQLite DB 資料庫

Image

Visual Basic 6.0 (VB6) 程式語言案例學習 (07. 收據列印程式)

Image

Visual Basic .Net (VB.Net) 程式語言案例學習 (03. 場地預約系統)

Image