发明名称 一种基于模糊度理论的图像去噪方法
摘要 本发明公开了一种基于模糊度理论的图像去噪方法,其包括读入一帧图像步骤;判断图像中的当前像素点是否为噪声点步骤;以噪声点为中心,构造一个<i>n</i>×<i>n</i>矩形模板步骤;计算背景平均值及对象平均值步骤;计算模糊度步骤;比较判断步骤和噪声滤波步骤;其有益效果是本发明可得到更为精确的去噪效果,在处理椒盐类型全局噪声判断方面优于传统的方法。
申请公布号 CN105931197A 申请公布日期 2016.09.07
申请号 CN201610228160.0 申请日期 2016.04.13
申请人 石家庄铁道大学 发明人 赵晔;李向红;刘靖纳;刘亚峰;刘炜
分类号 G06T5/00(2006.01)I 主分类号 G06T5/00(2006.01)I
代理机构 石家庄新世纪专利商标事务所有限公司 13100 代理人 董金国;齐兰君
主权项 一种基于模糊度理论的图像去噪方法,其特征在于包括如下步骤:(1)读入一帧图像,令第一个像素点为当前像素点;(2)判断图像中的当前像素点是否为噪声点;若当前像素点是噪声点,则按照步骤(3)进行处理;若当前像素点不是噪声点,则令下一个像素点为当前像素点,接着判断,直到遇到噪声点或算法结束;(3)以噪声点为中心,构造一个n×n矩形模板,即横轴上包含n个像素点,纵轴上包含n个像素点;如果图像边界的像素点为噪声点,则对于以该像素点为中心构造的模板中超出图像区域的部分忽略不计;(4)考虑除中心像素点外的所有像素点,其个数为n×n‑1,做以下构造以及计算:(4‑1)设n×n‑1个像素点的灰度值个数为L,仅当不存在相同灰度值的像素点时,L=n×n‑1;把L个灰度值按照从小到大的顺序排列,令其为序列灰度值t<sub>i</sub>,其中i=1,2,…,L;(4‑2)将n×n矩形模板内除去中心像素点外的所有像素点分成背景和对象两个类:设q为像素点的灰度值;对每一个灰度值q都构造与所述n×n矩形模板上序列灰度值t<sub>i</sub>相关的背景平均值m<sub>B</sub>(t<sub>i</sub>)及对象平均值m<sub>O</sub>(t<sub>i</sub>):<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>m</mi><mi>B</mi></msub><mrow><mo>(</mo><msub><mi>t</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><munderover><mi>&Sigma;</mi><mrow><mi>q</mi><mo>=</mo><msub><mi>t</mi><mn>1</mn></msub></mrow><msub><mi>t</mi><mi>i</mi></msub></munderover><mi>q</mi><mi>h</mi><mrow><mo>(</mo><mi>q</mi><mo>)</mo></mrow></mrow><mrow><munderover><mi>&Sigma;</mi><mrow><mi>q</mi><mo>=</mo><msub><mi>t</mi><mn>1</mn></msub></mrow><msub><mi>t</mi><mi>i</mi></msub></munderover><mi>h</mi><mrow><mo>(</mo><mi>q</mi><mo>)</mo></mrow></mrow></mfrac><mo>;</mo></mrow>]]></math><img file="FDA0000964224150000011.GIF" wi="422" he="279" /></maths><maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msub><mi>m</mi><mi>O</mi></msub><mrow><mo>(</mo><msub><mi>t</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><munderover><mi>&Sigma;</mi><mrow><mi>q</mi><mo>=</mo><msub><mi>t</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow></msub></mrow><msub><mi>t</mi><mi>L</mi></msub></munderover><mi>q</mi><mi>h</mi><mrow><mo>(</mo><mi>q</mi><mo>)</mo></mrow></mrow><mrow><munderover><mi>&Sigma;</mi><mrow><mi>q</mi><mo>=</mo><msub><mi>t</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow></msub></mrow><msub><mi>t</mi><mi>L</mi></msub></munderover><mi>h</mi><mrow><mo>(</mo><mi>q</mi><mo>)</mo></mrow></mrow></mfrac><mo>;</mo><mo>.</mo></mrow>]]></math><img file="FDA0000964224150000021.GIF" wi="470" he="294" /></maths>其中,h(q)为所述n×n矩形模板中灰度值为q的像素点个数;由于对象类至少包含一个像素点,因此t<sub>i</sub>=t<sub>1</sub>,t<sub>2</sub>,…,t<sub>L‑1</sub>;(4‑3)构造灰度值为q的像素点关于序列灰度值t<sub>i</sub>的属于背景的可能性<img file="FDA0000964224150000022.GIF" wi="166" he="84" />以及属于对象的可能性<img file="FDA0000964224150000023.GIF" wi="193" he="95" /><maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msub><mi>&mu;</mi><msub><mover><mi>W</mi><mo>~</mo></mover><mrow><msub><mi>Bt</mi><mi>i</mi></msub></mrow></msub></msub><mrow><mo>(</mo><mi>q</mi><mo>)</mo></mrow><mo>=</mo><mo>|</mo><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mfrac><mrow><mo>|</mo><mi>q</mi><mo>-</mo><msub><mi>m</mi><mi>B</mi></msub><mrow><mo>(</mo><msub><mi>t</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>|</mo><mo>|</mo><msub><mi>m</mi><mi>B</mi></msub><mrow><mo>(</mo><msub><mi>t</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>-</mo><msub><mi>m</mi><mi>O</mi></msub><mrow><mo>(</mo><msub><mi>t</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>|</mo></mrow><msup><mrow><mo>|</mo><msub><mi>m</mi><mi>B</mi></msub><mrow><mo>(</mo><msub><mi>t</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>+</mo><msub><mi>m</mi><mi>O</mi></msub><mrow><mo>(</mo><msub><mi>t</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>|</mo></mrow><mn>2</mn></msup></mfrac><mo>)</mo></mrow><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mfrac><mrow><mo>|</mo><mi>q</mi><mo>-</mo><msub><mi>m</mi><mi>B</mi></msub><mrow><mo>(</mo><msub><mi>t</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>|</mo></mrow><mrow><mo>|</mo><mi>q</mi><mo>-</mo><msub><mi>m</mi><mi>B</mi></msub><mrow><mo>(</mo><msub><mi>t</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>|</mo><mo>+</mo><mo>|</mo><mi>q</mi><mo>-</mo><msub><mi>m</mi><mi>O</mi></msub><mrow><mo>(</mo><msub><mi>t</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>|</mo></mrow></mfrac><mo>)</mo></mrow><mo>|</mo></mrow>]]></math><img file="FDA0000964224150000024.GIF" wi="1589" he="200" /></maths><maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><msub><mi>&mu;</mi><msub><mover><mi>W</mi><mo>~</mo></mover><mrow><msub><mi>Ot</mi><mi>i</mi></msub></mrow></msub></msub><mrow><mo>(</mo><mi>q</mi><mo>)</mo></mrow><mo>=</mo><mo>|</mo><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mfrac><mrow><mo>|</mo><mi>q</mi><mo>-</mo><msub><mi>m</mi><mi>O</mi></msub><mrow><mo>(</mo><msub><mi>t</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>|</mo><mo>|</mo><msub><mi>m</mi><mi>B</mi></msub><mrow><mo>(</mo><msub><mi>t</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>-</mo><msub><mi>m</mi><mi>O</mi></msub><mrow><mo>(</mo><msub><mi>t</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>|</mo></mrow><msup><mrow><mo>|</mo><msub><mi>m</mi><mi>B</mi></msub><mrow><mo>(</mo><msub><mi>t</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>+</mo><msub><mi>m</mi><mi>O</mi></msub><mrow><mo>(</mo><msub><mi>t</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>|</mo></mrow><mn>2</mn></msup></mfrac><mo>)</mo></mrow><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mfrac><mrow><mo>|</mo><mi>q</mi><mo>-</mo><msub><mi>m</mi><mi>O</mi></msub><mrow><mo>(</mo><msub><mi>t</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>|</mo></mrow><mrow><mo>|</mo><mi>q</mi><mo>-</mo><msub><mi>m</mi><mi>B</mi></msub><mrow><mo>(</mo><msub><mi>t</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>|</mo><mo>+</mo><mo>|</mo><mi>q</mi><mo>-</mo><msub><mi>m</mi><mi>O</mi></msub><mrow><mo>(</mo><msub><mi>t</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>|</mo></mrow></mfrac><mo>)</mo></mrow><mo>|</mo><mo>.</mo></mrow>]]></math><img file="FDA0000964224150000025.GIF" wi="1621" he="208" /></maths>这里,t<sub>i</sub>=t<sub>1</sub>,t<sub>2</sub>,…,t<sub>L‑1</sub>;因此每组<img file="FDA0000964224150000026.GIF" wi="161" he="85" />和<img file="FDA0000964224150000027.GIF" wi="168" he="85" />都得到L‑1次计算结果;(4‑4)根据对上述每组的L‑1个计算结果,分别构造每个灰度值q关于序列灰度值t<sub>i</sub>的背景集合<img file="FDA0000964224150000028.GIF" wi="82" he="78" />以及灰度值q关于序列灰度值t<sub>i</sub>的对象集合<img file="FDA0000964224150000029.GIF" wi="147" he="87" />t<sub>i</sub>=t<sub>1</sub>,t<sub>2</sub>,…,t<sub>L‑1</sub>;<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><msub><mi>L</mi><msub><mover><mi>W</mi><mo>~</mo></mover><mrow><msub><mi>Bt</mi><mi>i</mi></msub></mrow></msub></msub><mo>=</mo><mo>{</mo><mo>&lt;</mo><mi>q</mi><mo>,</mo><msub><mi>&mu;</mi><msub><mover><mi>W</mi><mo>~</mo></mover><mrow><msub><mi>Bt</mi><mi>i</mi></msub></mrow></msub></msub><mrow><mo>(</mo><mi>q</mi><mo>)</mo></mrow><mo>&gt;</mo><mo>}</mo></mrow>]]></math><img file="FDA00009642241500000210.GIF" wi="427" he="111" /></maths><maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><msub><mi>L</mi><msub><mover><mi>W</mi><mo>~</mo></mover><mrow><msub><mi>Ot</mi><mi>i</mi></msub></mrow></msub></msub><mo>=</mo><mo>{</mo><mo>&lt;</mo><mi>q</mi><mo>,</mo><msub><mi>&mu;</mi><msub><mover><mi>W</mi><mo>~</mo></mover><mrow><msub><mi>Ot</mi><mi>i</mi></msub></mrow></msub></msub><mrow><mo>(</mo><mi>q</mi><mo>)</mo></mrow><mo>&gt;</mo><mo>}</mo></mrow>]]></math><img file="FDA00009642241500000211.GIF" wi="430" he="111" /></maths>即:<img file="FDA00009642241500000212.GIF" wi="166" he="87" />表示灰度值为q的像素点属于背景集合的可能性,<img file="FDA00009642241500000213.GIF" wi="165" he="86" />表示灰度值为q的像素点属于对象集合的可能性;(5)做以下计算:(5‑1)根据步骤(4)中的每组的L‑1个计算结果,计算每个灰度值q关于每一个序列灰度值t<sub>i</sub>的第一模糊度π<sub>L</sub>(q):<maths num="0007" id="cmaths0007"><math><![CDATA[<mrow><msub><mi>&pi;</mi><mi>L</mi></msub><mrow><mo>(</mo><mi>q</mi><mo>)</mo></mrow><mo>=</mo><mn>1</mn><mo>-</mo><msub><mi>&mu;</mi><msub><mover><mi>W</mi><mo>~</mo></mover><mrow><msub><mi>Bt</mi><mi>i</mi></msub></mrow></msub></msub><mrow><mo>(</mo><mi>q</mi><mo>)</mo></mrow><mo>-</mo><msub><mi>&mu;</mi><msub><mover><mi>W</mi><mo>~</mo></mover><mrow><msub><mi>Ot</mi><mi>i</mi></msub></mrow></msub></msub><mrow><mo>(</mo><mi>q</mi><mo>)</mo></mrow><mo>.</mo></mrow>]]></math><img file="FDA0000964224150000031.GIF" wi="613" he="79" /></maths>以及第二模糊度f<sub>L</sub>(q):<maths num="0008" id="cmaths0008"><math><![CDATA[<mrow><msub><mi>f</mi><mi>L</mi></msub><mrow><mo>(</mo><mi>q</mi><mo>)</mo></mrow><mo>=</mo><mn>1</mn><mo>-</mo><mo>|</mo><msub><mi>&mu;</mi><msub><mover><mi>W</mi><mo>~</mo></mover><mrow><msub><mi>Bt</mi><mi>i</mi></msub></mrow></msub></msub><mrow><mo>(</mo><mi>q</mi><mo>)</mo></mrow><mo>-</mo><msub><mi>&mu;</mi><msub><mover><mi>W</mi><mo>~</mo></mover><mrow><msub><mi>Ot</mi><mi>i</mi></msub></mrow></msub></msub><mrow><mo>(</mo><mi>q</mi><mo>)</mo></mrow><mo>|</mo><mo>.</mo></mrow>]]></math><img file="FDA0000964224150000032.GIF" wi="630" he="117" /></maths>因为每组<img file="FDA0000964224150000033.GIF" wi="165" he="86" />和<img file="FDA0000964224150000034.GIF" wi="165" he="85" />都得到L‑1次计算结果,因此,这里每组π<sub>L</sub>(q)和f<sub>L</sub>(q)也同样都得到L‑1次计算结果;(5‑2)设所述第一模糊度π<sub>L</sub>(q)与第二模糊度f<sub>L</sub>(q)之和为关于每一个序列灰度值t<sub>i</sub>的模糊度π(q);<maths num="0009" id="cmaths0009"><math><![CDATA[<mrow><mi>&pi;</mi><mrow><mo>(</mo><mi>q</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>q</mi><mo>=</mo><msub><mi>t</mi><mn>1</mn></msub></mrow><msub><mi>t</mi><mrow><mi>L</mi><mo>-</mo><mn>1</mn></mrow></msub></munderover><msub><mi>&pi;</mi><mi>L</mi></msub><mrow><mo>(</mo><mi>q</mi><mo>)</mo></mrow><mo>+</mo><munderover><mi>&Sigma;</mi><mrow><mi>q</mi><mo>=</mo><msub><mi>t</mi><mn>1</mn></msub></mrow><msub><mi>t</mi><mrow><mi>L</mi><mo>-</mo><mn>1</mn></mrow></msub></munderover><msub><mi>f</mi><mi>L</mi></msub><mrow><mo>(</mo><mi>q</mi><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000964224150000035.GIF" wi="589" he="143" /></maths>由此可知,根据不同的序列灰度值t<sub>i</sub>可以得到L‑1个模糊度π(q);(6)设T等于最小模糊度对应的序列灰度值t<sub>i</sub>,即L‑1个模糊度π(q)中最小值对应的序列灰度值t<sub>i</sub><maths num="0010" id="cmaths0010"><math><![CDATA[<mrow><mi>T</mi><mo>=</mo><msub><mi>min</mi><mrow><mi>t</mi><mo>&Element;</mo><msub><mi>t</mi><mi>i</mi></msub></mrow></msub><mi>&pi;</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>;</mo></mrow>]]></math><img file="FDA0000964224150000036.GIF" wi="422" he="82" /></maths>(7)将n×n矩形模板中每一像素点的灰度值q与T比较,当q≤T时,对该像素点做标记为背景类;当q>T时,对该像素点做标记为对象类;经过此步,模板中除中心像素外所有的像素点都被分为了两类:背景类和对象类;(8)噪声滤波:分别计算背景类和对象类的像素点个数,对像素点个数多的那一类计算其平均灰度值,将所述平均灰度值赋予n×n矩形模板内中心像素点;若背景类和对象类的像素点个数相同,则计算背景类像素点平均灰度值,将所述背景类像素点平均灰度值赋予n×n矩形模板内中心像素点;(9)当屏幕上所有像素点处理完毕,程序结束。
地址 050043 河北省石家庄市北二环东路17号