新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 基于FPGA的二值圖像連通域快速標記

        基于FPGA的二值圖像連通域快速標記

        作者: 時間:2011-05-23 來源:網絡 收藏

        1.2 等價關系合并
        在第一次掃描過程中,在對像素臨時的同時對等價表進行合并。等價表合并按照等價表的存儲順序以較大值為索引的鏈表循環查找的方式進行合并,合并后的等價關系存儲到新的等價表中。以圖3所示的等價表合并為例來說明等價表合并過程。圖3中,第一行為等價關系存儲的順序;第二、三行分別為等價關系的索引值和等價值。其中,a>b>0,a>d>0,b>c>0。等表合并步驟如下:
        (1)首先以a為索引在新的等價表中查找a所對應等價值,查得a沒有對應值,因此將較大值a為索引,b為等價值存入新的等價表。同理,b,c也存入了新的等價表。
        (2)合并等價關系a,d時:
        ①若b=d,則不存入等價表,合并下一個等價關系。
        ②若bd,則以d為索引在當前新等價表中查找d對應等價值,查得d沒有對應關系,從而將d為索引,b為等價值存入新等價表。
        ③若b>d,則將d替代a的等價值b,然后以b為索引查找得到其對應值c,比較c,d大小。若cd,則以d為索引在當前新等價表中查找,查得d沒有對應關系,從而將d為索引,c為等價值存入新等價表。若c>d,則將d替代b的等價值c,然后以c為索引查找,查得c沒有對應關系,從而將c為索引,d為等價值存入新等價表。若c=d,則不存入等價表,合并下一個等價關系。
        1.3 鏈表歸并
        等價表合并完成后,從1到臨時的最大值按照從小到大的順序依次進行歸并。以當前合并值為索引對合并后的新等價表進行查找,如果沒有對應等價值,則將其本身作為其等價值存入新的等價鏈表;如果查得其對應等價值為M,則繼續以M為索引對當前新的等價鏈表查找,查得M對應值為P;若P為不零,則將P作為當前合并值的等價值存入新的等價鏈表;否則,就將M作為當前合并值的等價值存入新的等價鏈表。
        1.4 順序合并
        圖像進行第二次掃描時,利用像素的臨時值為索引在等價鏈表中查找其對應值,經過歸并后輸出以自然數順序的標記的圖像。第二次掃描過程中,如果第一個臨時標記X1對應值Q1不為零時,以1替代X1;如果第二個臨時標記X2對應值Q2不為零時,若Q2不等于Q1,則以2替代X2,否則以1替代X2。依此類推,當第n個臨時標記Xn對應值Qn不為零時,若Qn=Qm,則以m替代Xn;若Qn≠Qm(0mn),則以n替代Xn。
        1.5 算法特點分析
        本文算法主要是針對流水線和并行處理的特點而提出的。利用實現時的運算復雜度優于文獻。采用實現該算法需要總時鐘周期小于2×N×M,N為圖像行數,M為列數。
        算法利用FPGA的特點主要體現在:圖像標記過程中同時對等價關系進行合并,在FPGA實現時圖像標記和等價關系合并可以并行執行,減少了整個過程的處理時間;臨時標記和順序合并采用了流水線方式進行,減少了處理等待時間,能較快輸出圖像;鏈表歸并和順序合并單元采用高于臨時標記和等價關系合并單元時鐘頻率,既體現了并行處理特性又提高了處理速度。

        2 硬件實現方案
        該設計采用單片FPGA來實現上述連通域快速標記算法,標記處理單元均利用FPGA片內資源,不需要其他外部單元,縮小了硬件體積,電路結構簡單,節約了硬件資源、易于實現。該算法實現過程采用VHDL編程的方式在FPGA上實現。硬件實現框圖如圖4所示。

        本文引用地址:http://www.104case.com/article/191201.htm

        e.jpg


        標記單元采用流水線的方式對逐個像素進行標記。采用FPGA內部的FIFO存儲1行已標記像素的標記值來實現2×2的掃描窗口。標記單元結構如圖5所示。圖像經標記單元處理后,將像素的標記值Label_value存儲到圖像存儲單元中,等價關系Eq_valuel,Eq_value2存儲到等價表中。圖像存儲、等價表合并和鏈表歸并三個處理單元都是采用對雙口RAM的讀/寫操作來實現。處理單元流程圖如圖6所示。圖像存儲單元采用兩個雙口RAM乒乓操作來實現,分別為RAMa和RAMb,每個雙口RAM單獨存儲一幀圖像像素臨時標記。在圖像的標記過程中,像素的臨時標記值實時的存儲到RAMa或RAMb中。等價表存儲采用一個異步的雙口RAMc作為緩存,將標記輸出的等價關系Eq_valuel,Eq_value2中較大值作為高位,較小值作為低位合并后按順序存儲到RAMc中。存儲的同時,從另一個端口讀取RAMc中存儲的等價關系,進行等價表合并。等價表合并過程中,將等價關系中較大值作為地址,較小值作為數據存儲到異步雙口RAMd中。鏈表歸并采用兩個雙口RAM進行乒乓操作,分別為RAMe和RAMf。每個RAM存儲1幀圖像標記后的歸并鏈表值。RAMe和RAMf存儲的圖像鏈表分別與RAMa和RAMb存儲的像素標記相對應。順序合并主要采用寄存器和比較器來實現。利用寄存器存儲經等價鏈表處理后圖像非零像素的不同的標記,然后通過比較器進行判斷處理,最后以自然數順序的標記替代像素的標記。



        關鍵詞: FPGA 二值圖像 標記

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 儋州市| 稷山县| 益阳市| 福安市| 花莲市| 赣榆县| 大连市| 文水县| 隆子县| 富民县| 年辖:市辖区| 兴城市| 浦县| 金坛市| 旬邑县| 新昌县| 体育| 九台市| 罗田县| 正镶白旗| 马关县| 泽普县| 伊春市| 新乡县| 陇川县| 东光县| 阜新市| 定南县| 安阳市| 上杭县| 万年县| 罗山县| 腾冲县| 开阳县| 金川县| 西昌市| 金寨县| 车致| 沾益县| 阿拉善右旗| 专栏|