发明名称 一种多孔阵列式太阳敏感器的图像快速识别方法及装置
摘要 本发明涉及一种多孔阵列式太阳敏感器的图像快速识别方法及装置,其步骤在于:I)建立二值化匹配模板;II)图像数据的压缩存储;III)识别成像点矩阵的第一个成像点;IV)计算第一个成像点在成像点矩阵中的位置;V)计算整个成像点矩阵在初始图像中的首位置;VI)计算初始像素读取时成像点矩阵中心位置。本发明的装置包括光引入器、图像传感器、接口电路和计算机。本发明的方法和装置在识别太阳成像点矩阵在初始图像中的首位置时,克服了由于大面阵图像传感器导致的识别速度缓慢且需要很大图像存储量的缺点,本发明的优化方法可广泛用于多孔阵列式APS太阳敏感器,对太阳敏感器的识别效率有很大提高。
申请公布号 CN101509775B 申请公布日期 2010.05.12
申请号 CN200910080081.X 申请日期 2009.03.18
申请人 清华大学 发明人 邢飞;尤政;张高飞;孙剑
分类号 G01C21/02(2006.01)I;G01C1/00(2006.01)I;B64G1/36(2006.01)I 主分类号 G01C21/02(2006.01)I
代理机构 北京纪凯知识产权代理有限公司 11245 代理人 徐宁;关畅
主权项 一种多孔阵列式太阳敏感器的图像快速识别方法,其步骤包括:I)建立二值化匹配模板:根据标准模板图像,将所述标准模板图像上成像点质心所在的像素位置定义为1,相邻成像点之间的其他像素作为暗点,定义为0,建立的二值化匹配模板为由所述的1和0组成的12×12行列对称矩阵;将所述二值化匹配模板预置于计算机中;II)图像数据的压缩存储:在第一次启动太阳敏感器时,将初始图像像素数据采用隔行隔列和二进制形式进行压缩存储;存储区域的每个字节A(i)表示连续16个像素信息的集合;III)第一个成像点识别:扫描所述初始图像的存储区域,如果A(i)=0,则继续向下扫描,直到A(i)>0为止;根据所述二值化匹配模板,第一个成像点与其周围的三个暗点之间的关系为:P(i)=(A(i)&A(i+1))□(A(i)&A(i+64×8))□(A(i)&A(i+64×8+1))则识别所述第一个成像点的方程为: <mrow> <mfenced open='{' close=''> <mtable> <mtr> <mtd> <mi>A</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>></mo> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mi>P</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>=</mo> <mn>0</mn> </mtd> </mtr> </mtable> </mfenced> <mo>;</mo> </mrow>IV)计算第一个成像点在成像点矩阵中的位置:当所述初始图像中损失的成像点个数少于6时,有且仅有一个η值,假设识别出的第一个成像点为6×6成像点矩阵第一行的第η个成像点:V(η,m,n)=A(X)=A(i+2×(-η+m)+n×64×16)R(η,m,n)=(A(X)&A(X+1))□(A(X)&A(X+64×8))□(A(X)&A(X+64×8+1))(1)当损失的成像点个数少于6时,有且仅有一个η值满足: <mrow> <mfenced open='{' close=''> <mtable> <mtr> <mtd> <mi>V</mi> <mrow> <mo>(</mo> <mi>&eta;</mi> <mo>,</mo> <mi>m</mi> <mo>,</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>></mo> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mi>R</mi> <mrow> <mo>(</mo> <mi>&eta;</mi> <mo>,</mo> <mi>m</mi> <mo>,</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>=</mo> <mn>0</mn> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow>其中η、m、n=0,…,5;V)计算整个成像点矩阵在初始图像中的首位置:所述第一个成像点处在所述初始图像的rowη行: <mrow> <msub> <mi>row</mi> <mi>&eta;</mi> </msub> <mo>=</mo> <mi>floor</mi> <mo>[</mo> <mfrac> <mrow> <mi>i</mi> <mo>&times;</mo> <mn>2</mn> </mrow> <mn>64</mn> </mfrac> <mo>]</mo> <mo>=</mo> <mi>floor</mi> <mo>[</mo> <mfrac> <mi>i</mi> <mn>32</mn> </mfrac> <mo>]</mo> </mrow>其中,floor[x]表示不超过x的最大整数;同理所述第一个成像点处在所述初始图像的colη列: <mrow> <msub> <mi>col</mi> <mi>&eta;</mi> </msub> <mo>=</mo> <mrow> <mo>(</mo> <mi>i</mi> <mo>-</mo> <mn>32</mn> <mo>&times;</mo> <msub> <mi>row</mi> <mi>&eta;</mi> </msub> <mo>)</mo> </mrow> <mo>&times;</mo> <mn>16</mn> <mo>+</mo> <msubsup> <mrow> <mn>2</mn> <mi>log</mi> </mrow> <mn>2</mn> <mrow> <mi>A</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </mrow> </msubsup> </mrow>综上可知整个成像点矩阵在所述初始图像中的首位置(row0,col0)为:row0=rowηcol0=colη-32×ηVI)计算初始像素读取时成像点矩阵中心位置:根据所述整个成像点矩阵初始图像的首位置(row0,col0),计算出初始像素读取时成像点矩阵中心位置(x1,y1)。
地址 100084 北京市海淀区清华园1号清华大学汽车系