一種基于投影變換的連通域標記方法
【技術領域】
[0001]本發明涉及一種計算機數字圖像處理方法,特別涉及一種基于投影變換的連通域標記方法。
【背景技術】
[0002]連通域標記作為一種重要的數字圖像處理技術,有著廣泛的應用領域。對基于圖像的目標提取和跟蹤,連通域標記是一項關鍵技術,是進行后續目標提取和識別的必要步驟。正確快速的連通域標記和提取手段將為后續的分析和識別帶來很大的便利。
[0003]近年來,隨著技術的發展,人們通過各種傳感器(光、電)獲得的圖像分辨率越來越高。目標的檢測與跟蹤的關鍵技術之一,連通域標記算法已成為其走向實際應用的制約瓶頸。因此,幾十年來,研究者們不斷地提出改進的方法,以降低連通域標記方法的時間復雜度和空間復雜度。
[0004]二值圖像連通域標記方法,按照處理對象的不同主要分為基于像素和基于線段兩大類。
[0005]像素點掃描方式有區域增長法、順序掃描法、遞歸標記法等。線段掃描算法主要有基于游程的標記算法以及多種改進算法。基于像素的算法容易導致堆棧溢出或者像素多次反復遍歷,效率不高。
[0006]基于線段的標記算法相比基于像素的方法效率要高,利用鄰接表來記錄沖突標記,一旦遇到等價對就記錄在鄰接表中,對于大尺寸圖像,容易使鄰接表存儲大量的等價對信息,使等價區域的合并邏輯復雜而且浪費存儲空間。
【發明內容】
[0007]發明目的:本發明所要解決的技術問題是針對現有技術的不足,提供一種基于投影變換的連通域標記方法。
[0008]本發明的目的是設計一種存儲量小、邏輯簡單、且適合實時實現的連通域標記算法。
[0009]本發明方案的實施步驟如下:
[0010]步驟(1),圖像二值化:對灰度圖像作過閾值處理,得到一個二值圖像,其中為1的像素點是能量高于閾值gate的單元,為0的是能量低于閾值的單元;
[0011]步驟(2),濾波處理:對二值圖像做一次腐蝕和膨脹處理,以去除圖像中的噪聲和雜點;
[0012]步驟(3),列向投影;對二值圖像作列向投影(縱向),只要該列上有值為1的像素點,則該列的投影值為1,否則為0。這樣便得到一行由0、1組成的列向投影二值序列;
[0013]步驟(4),分區:對列向投影的結果分區,連續為1的區域標記為一個子分區;
[0014]步驟(5),依次在二值圖像上取出列向投影的子分區,對其做行向投影(橫向),只要該行上有值為1的像素點,則該行的投影值為1,否則為0。這樣便得到一列由0、1組成的行向投影二值序列;
[0015]步驟¢),分區:對行向投影的結果分區,連續為1的區域標記為一個子分區;
[0016]步驟(7),記錄各個子分區的起始和終止坐標,依次在二值圖像上取出行向投影(橫向)的子分區,對各個子分區重復步驟3-6,直到投影分區結果為1。這樣便提取出了所有分區。
[0017]步驟(1)中,像素點的能量由圖像的灰度值表征,灰度值的范圍是0?255。
[0018]步驟(3)中,對二值圖像作列向投影即縱向投影,只要該列上有值為1的像素點,則該列的投影值設為1,否則為零,由此得到一行由0和1組成的列向投影二值序列。
[0019]驟(5)中,依次在二值圖像上取出列向投影的子分區,對其做行向投影即橫向投影,只要該行上有值為1的像素點,則該行的投影值設為1,否則為0,由此得到一列由0和1組成的行向投影二值序列。
[0020]步驟(7)中,記錄各個子分區的起始和終止坐標,依次在二值圖像上取出行向投影的子分區,對各個子分區重復步驟3?6,直到投影分區結果為1,由此提取出所有分區。
[0021]在上述步驟(2)中,對圖像作開運算處理,能有效去除圖像中的雜點和噪聲。在上述步驟(3)、(4)和(5)、(6)中,通過將二維圖像投影到一維方向上,并根據其投影結果進行區域的分割和提取,將一個二維區域分割問題轉化為一個一維線段分割問題,將連通域標記問題簡單化。在上述步驟(7)中,對各個子分區進行投影變換和區域提取,可以區分投影重疊的各個區域。在上述步驟(7)中,只需記錄各分區的起始和終止兩個坐標點,避免了傳統連通域標記方法中需要存儲大量等價信息和整理等價對的缺點,極大地節省了存儲空間并且降低了算法復雜度。這一點對于高分辨率、大尺寸圖像尤其重要。
[0022]本發明與現有技術相比,具有以下顯著優點:
[0023]1、性能穩定:對圖像作開運算處理,能有效去除圖像中的雜點和噪聲。
[0024]2、邏輯簡單:利用投影變換,將一個二維區域分割問題轉化為一個一維線段分割問題,將連通域標記問題簡單化;
[0025]3、存儲量小:只需記錄各分區的起始和終止兩個坐標點,避免了傳統連通域標記方法中需要存儲大量等價信息的缺點,極大地節省了存儲空間;
[0026]4、速度快:相對像素掃描方法,不存在大量的訪問堆棧和領域搜索。相對于基于線段的標記算法,無需整理大量的等價對,簡化了算法的邏輯,同時也提高了算法速度。
【附圖說明】
[0027]下面結合附圖和【具體實施方式】對本發明做更進一步的具體說明,本發明的上述和/或其他方面的優點將會變得更加清楚。
[0028]圖1是處理流程圖。
[0029]圖2是原始圖像。
[0030]圖3是二值化后圖像。
[0031]圖4是開運算處理后圖像。
[0032]圖5是第一次列向投影分區結果。
[0033]圖6是對al分區行向投影分區結果。
[0034]圖7是對bl分區列向投影分區結果。
[0035]圖8是對b2分區列向投影分區結果。
【具體實施方式】
[0036]本發明涉及一種連通域標記方法,特別涉及一種基于投影變換的連通域標記方法。本方法以二值圖像為研究對象,采用投影變換的方法,實現對圖像中連通區域的提取和分析。基于投影變換的連通域標記方法,通過將二維圖像投影到一維方向上,并根據其投影結果進行區域的分割和提取,來實現連通域標記和分析。本方法利用投影變換的思想,將一個二維區域分割問題轉化為一個一維線段分割問題,將連通域標記問題簡單化。相對傳統方法,本文方法實現簡單,處理速度更快。
[0037]本發明的目的是設計一種存儲量小、邏輯簡單、且適合實時實現的連通域標記算法。
[0038]下面結合圖對本發明方案作進一步詳細描述。
[0039]圖1是整體的處理流程圖。結合圖1,本發明方法包括以下步驟:
[0040]1.圖像二值化:對灰度圖像作過閾值處理,得到一個二值圖像,其中為1的像素點是能量高于閾值的單元,為0的是能量低于閾值的單元。閾值gate由圖像的灰度均值m決定:
[0041]gate = m;
[0042]2.濾波處理:對二值圖像做一次開運算,以去除圖像