[發明專利]一種基于FPGA的實時星點質心定位方法及裝置有效
| 申請號: | 201610072227.6 | 申請日: | 2016-02-02 |
| 公開(公告)號: | CN105761288B | 公開(公告)日: | 2019-02-01 |
| 發明(設計)人: | 桑紅石;高英華 | 申請(專利權)人: | 華中科技大學 |
| 主分類號: | G06T7/60 | 分類號: | G06T7/60 |
| 代理公司: | 華中科技大學專利中心 42201 | 代理人: | 曹葆青 |
| 地址: | 430074 湖北*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 fpga 實時 星點 質心 定位 方法 裝置 | ||
1.一種基于FPGA的實時星點質心定位裝置,其特征在于,包括中心控制器、閾值計算模塊、閾值分割模塊、星點提取模塊、緩存模塊、質心計算模塊以及FIFO模塊,其中:
所述中心控制器,用來產生電路的控制信號,控制各個模塊的數據流;
所述閾值計算模塊,接收來自星敏感器的數據,對接收數據進行閾值計算;模塊電路采用順序結構,對掃描輸入的像素同時累加求像素和和平方和,一幀圖像累加完畢,利用累加和計算圖像的均值和方差,利用均值和方差得到閾值,將閾值輸出到中心控制器;所述閾值計算模塊的電路結構包括像素和寄存器、像素平方和寄存器、減法器、乘法器或者移位器、加法器、移位寄存器、閾值寄存器,像素和寄存器、像素平方和寄存器分別用來保存掃描輸入的像素灰度累加和和像素灰度平方和,像素和寄存器的輸出端分別連接加法器和減法器,像素平方和寄存器的輸出端依次連接減法器、乘法器或者移位器、加法器,加法器的輸出端依次連接移位寄存器、閾值寄存器;
所述閾值分割模塊,接收來自星敏感器的星圖數據和中心控制器輸出的背景閾值,對當前星圖分割;模塊采用M路通道并行分割,將M-1條行延遲線串行連接,M-1條行延遲線與當前輸入形成M路并行通道進行分割;所述閾值分割模塊的電路結構包括M-1條深度為1024的行延遲線、M個比較器,行延遲線用雙端口的SRAM實現,M路輸出的像素與中心控制器模塊輸出的閾值參數進入比較器,像素大于背景閾值的輸出原值像素灰度,小于背景閾值的輸出像素灰度0;
所述星點提取模塊,連接閾值分割模塊,接收M路分割結果,對于輸入的已經分割后的數據生成兩個模板;模板用寄存器組來生成,模塊的結構是一個M*M的數據模板和對應的二值模板,根據星點判斷依據,判斷質心是否在模板的中心像素位置,輸出質心計算所需要的數據;二值模板實際大小為M*(M+1),用來緩存經過星圖分割后的數據模板,大小為M*M;二值模板的前M行M列模板A用來判斷模板中心像素是不是準星點像素以及剔除不屬于中心像素所在的星點的其余星點像素,判斷的標準如下:
(s1)對M通道并行輸入的像素的中間一行采用的是準星點閾值分割,大于準星點閾值,二值模板相應像素為1,否則二值模板相應像素為0;其余行像素灰度大于0,二值模板像素為1,否則二值模板像素為0;
(s2)判斷中心像素及其8鄰域即3*3模板內星點像素的個數是不是大于2,3*3模板記為模板C3x3,M*M模板去掉C3x3記為模板C補;
(s3)剔除模板C補不屬于當前M*M模板中心像素所在星點的星點像素;判斷標準:(a)首先被判斷像素是星點像素;(b)該星點像素8鄰域像素沒有模板C3x3的星點像素;如果滿足上述標準就判定被判斷像素不屬于模板中心像素所在的星點,則令被判斷星點像素灰度為0,否則保持原值;
上述步驟(s2)(s3)并行執行;
在一個周期內同時計算完畢,符合要求的M*M模板像素會移動到下一個周期,也就是M*M的模板B,模板B會作用到閾值分割后的M*M數據模板C,模板B中是1的位置,數據模板C保留原值,模板B中為0的位置,數據模板C相應為0;
通過判斷中間像素所在的行像素灰度和是不是各行像素灰度和的最大值,以及列像素灰度和是不是各列的像素灰度和的最大值來判斷質心位置在不在模板C中心位置,由于距離中心像素最遠的行或列像素灰度較小,受到噪聲污染嚴重,所以判斷的標準是距離中心像素所在的行垂直距離為D,0<D<M/2,像素或者距離中心像素所在的列垂直距離為D像素的所有像素,D設為1,通過下式(1)(2)來作為判斷中心像素所在的行像素灰度和是否為各行像素灰度和最大值,用式(3)(4)式來判斷中心像素所在的列像素灰度和是否為各列像素灰度和的最大值;
公式中的x1~xM為圖像I的行坐標,y1~yM為圖像I的列坐標,l為M/2的向上取整;如果符合要求就粗定位判斷該M*M的模板中心像素是星點質心所在位置;
所述緩存模塊,接收來自星點提取模塊的數據;本模塊用FIFO來實現,用于緩存星點提取模塊輸出的M*M模板內質心計算所需數據;
所述質心計算模塊,接收緩存模塊的數據,采用查表法和數值循環法計算質心的坐標;本模塊的結構采用寄存器組作為查找表,根據接收到的數據建立查找表,查找表計算完畢,對緩存模塊的每一個星點計算質心,步驟如下:
(t1)數據模板的像素灰度和作為除數,將其尾數分別乘以7~2,保存為Reg7,Reg6,Reg5,Reg4,Reg3,Reg2;Reg2有效位寬為25位,Reg3有效位寬為25位或者26位,Reg4有效位寬為26位,Reg5、Reg6、Reg7有效位寬為26或者27位;將得到的結果按照25,26或者27位分別放到x_25,x_26和x_27寄存器組;
(t2)定義三個新的寄存器組x01_25[0:1][2:0]、x01_26[0:3][2:0]和x01_27[0:3][2:0],X01組寄存器單元的數目是與x_25[0:1]、x_26[0:3]、x_27[0:3]X組寄存組器單元相同的,但位寬不同;X01組的每個寄存器單元用來對應存儲比X組的寄存器單元小的最大值的編號;
(t3)被除數每次左移3位,低位填3個0,從查找表X組寄存器單元和X01組寄存器單元中選擇與被除數位寬相同;
除法運算硬件電路的具體執行步驟如下:
當被除數的高4位[26:23]為以下值:
4’b111x:被除數同時減去x_27[3]所指示的不為0的數及x01_27[3]編號所對應的數,從結果中找到最小正數,從減數中找到3位商值和對應余數;
4’b110x:被除數同時減去x_27[2]所指示的不為0的數及x01_27[2]編號所對應的數,從結果中找到最小正數,從減數中找到3位商值和對應余數;
4’b101x:被除數同時減去x_27[1]所指示的不為0的數及x01_27[1]編號所對應的數,從結果中找到最小正數,從減數中找到3位商值和對應余數;
4’b100x:被除數同時減去x_27[0]所指示的不為0的數及x01_27[0]編號所對應的數,從結果中找到最小正數,從減數中找到3位商值和對應余數;
4’b0111:被除數同時減去x_26[3]所指示的不為0的數及x01_26[3]編號所對應的數,從結果中找到最小正數,從減數中找到3位商值和對應余數;
4’b0110:被除數同時減去x_26[2]所指示的不為0的數及x01_26[2]編號所對應的數,從結果中找到最小正數,從減數中找到3位商值和對應余數;
4’b0101:被除數同時減去x_26[1]所指示的不為0的數及x01_26[1]編號所對應的數,從結果中找到最小正數,從減數中找到3位商值和對應余數;
4’b0100:被除數同時減去x_26[0]所指示的不為0的數及x01_26[0]編號所對應的數,從結果中找到最小正數,從減數中找到3位商值和對應余數;
4’b0011:被除數同時減去x_25[1]所指示的不為0的數及x01_25[1]編號所對應的數,從結果中找到最小正數,從減數中找到3位商值和對應余數;
4’b0010:被除數同時減去x_25[0]所指示的不為0的數及x01_25[0]編號所對應的數,從結果中找到最小正數,從減數中找到3位商值和對應余數;
4’b0001:被除數減去除數,差值為負數,商為3’b000,余數為被除數,否則,商為3’b001,余數為差值;
所述FIFO模塊,與質心計算模塊相連,用于緩存質心定位結果。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華中科技大學,未經華中科技大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610072227.6/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種微地形表面重建方法
- 下一篇:一種彩色圖像去彩方法及系統





