发明名称 一种医学图像增强方法及系统
摘要 本发明属于医学图像处理技术领域,具体为一种边缘保留的医学图像增强方法及系统。本发明应用基于梯度适应的滤波器将图像平滑,来估计图像的每个像素点的梯度能量和噪音能量,即计算一个滤波误差能量函数。然后,应用动态规划的办法,将所得到的误差能量函数再量化到四个不同的级别。将所得到量化后的误差能量和图像的纹理特征节后,构造一组量化的上下文。最后依据不同的量化上下文,应用回归分析的方法,构造不同的参数的滤波器,从而实现对医学图像的增强处理。
申请公布号 CN101930599A 申请公布日期 2010.12.29
申请号 CN201010263904.5 申请日期 2010.08.24
申请人 黄伟萍 发明人 黄伟萍;徐漫涛;吴志家
分类号 G06T5/00(2006.01)I 主分类号 G06T5/00(2006.01)I
代理机构 上海正旦专利代理有限公司 31200 代理人 陆飞;盛志范
主权项 1.一种医学图像增强方法,其特征在于,给定一幅图像I,增强的具体步骤如下:步骤A.设计一种基于梯度的图像滤波器,将该滤波器作用到图像I,得到滤波图像<img file="FSA00000245211500011.GIF" wi="52" he="57" />步骤B.基于得到的滤波图像<img file="FSA00000245211500012.GIF" wi="52" he="55" />对每个像素点计算误差估计能量函数Δ;步骤C.根据得到的误差估计能量函数Δ,构造一个4级量化器Q(Δ)∈{0,1,2,3};步骤D.根据量化后的Q(Δ)、原始图像I和滤波图像<img file="FSA00000245211500013.GIF" wi="25" he="52" />构造一个上下文量化器Q(C);步骤E.针对每个量化后的上下文C<sub>Q</sub>,在一个菱形的窗口构造一个滤波器f(x|C<sub>Q</sub>);步骤F.应用滤波器f(x|C<sub>Q</sub>)对图像I进行去噪滤波;其中,所述步骤A中,设计滤波器步骤为:A1.对当前图像I计算其水平方向梯度值d<sub>h</sub>和垂直方向梯度值d<sub>v</sub>:d<sub>h</sub>=(|I(i,j-2)-I(i,j-1)|+|I(i-1,j-1)-I(i-1,j)|+|I(i-1,j)-I(i-1,j+1)|+|I(i,j+1)-I(i,j+2)|+|I(i+1,j)-I(i+1,j+1)|+|I(i+1,j-1)-I(i+1,j)|)/2                                                (2)d<sub>v</sub>=(|I(i-1,j-1)-I(i,j-1)|+|I(i-2,j)-I(i-1,j)|+|I(i-2,j+1)-I(i-1,j+1)|+|I(i-1,j+1)-I(i,j+1)|+|I(i+1,j)-I(i+2,j)|+|I(i+1,j-1)-I(i+2,j-1)|)/2这里,I(i-2,j-2)、I(i-2,j-1)…I(i+2,j+1)、I(i+2,j+2)是图像I在以(i,j)为中心的5×5邻域中的像素点灰度值;A2.根据得到的水平梯度和垂直梯度,按公式(3)设计一个基于梯度的滤波器:如果d<sub>v</sub>(i,j)-d<sub>h</sub>(i,j)>C<sub>1</sub>(经过点(i,j)存在水平方向强边缘)<maths num="0001"><![CDATA[<math><mrow><mover><mi>I</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mi>I</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>+</mo><mi>I</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow><mn>2</mn></mfrac><mo>;</mo></mrow></math>]]></maths>否则,如果d<sub>v</sub>(i,j)-d<sub>h</sub>(i,j)<-C<sub>1</sub>(经过点(i,j)存在垂直方向强边缘)<maths num="0002"><![CDATA[<math><mrow><mover><mi>I</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mi>I</mi><mrow><mo>(</mo><mi>i</mi><mo>-</mo><mn>1</mn><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>+</mo><mi>I</mi><mrow><mo>(</mo><mi>i</mi><mo>+</mo><mn>1</mn><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow><mn>2</mn></mfrac><mo>;</mo></mrow></math>]]></maths>否则<maths num="0003"><![CDATA[<math><mrow><mover><mi>I</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mi>I</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>+</mo><mi>I</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>+</mo><mi>I</mi><mrow><mo>(</mo><mi>i</mi><mo>-</mo><mn>1</mn><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>+</mo><mi>I</mi><mrow><mo>(</mo><mi>i</mi><mo>+</mo><mn>1</mn><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow><mn>4</mn></mfrac></mrow></math>]]></maths><maths num="0004"><![CDATA[<math><mrow><mo>+</mo><mfrac><mrow><mi>I</mi><mrow><mo>(</mo><mi>i</mi><mo>-</mo><mn>1</mn><mo>,</mo><mi>j</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>-</mo><mi>I</mi><mrow><mo>(</mo><mi>i</mi><mo>-</mo><mn>1</mn><mo>,</mo><mi>j</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mrow><mn>8</mn></mfrac><mo>+</mo><mfrac><mrow><mi>I</mi><mrow><mo>(</mo><mi>i</mi><mo>+</mo><mn>1</mn><mo>,</mo><mi>j</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>-</mo><mi>I</mi><mrow><mo>(</mo><mi>i</mi><mo>+</mo><mn>1</mn><mo>,</mo><mi>j</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow><mn>8</mn></mfrac><mo>;</mo></mrow></math>]]></maths>如果d<sub>v</sub>(i,j)-d<sub>h</sub>(i,j)>C<sub>2</sub>(经过点(i,j)存在水平方向边缘)<maths num="0005"><![CDATA[<math><mrow><mover><mi>I</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mover><mi>I</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow><mn>2</mn></mfrac><mo>+</mo><mfrac><mrow><mi>I</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>+</mo><mi>I</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow><mn>4</mn></mfrac><mo>;</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow></math>]]></maths>否则,如果d<sub>v</sub>(i,j)-d<sub>h</sub>(i,j)>C<sub>3</sub>(经过点(i,j)存在水平方向弱边缘)<maths num="0006"><![CDATA[<math><mrow><mover><mi>I</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mn>3</mn><mover><mi>I</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow><mn>4</mn></mfrac><mo>+</mo><mfrac><mrow><mi>I</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>+</mo><mi>I</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow><mn>8</mn></mfrac><mo>;</mo></mrow></math>]]></maths>否则,如果d<sub>v</sub>(i,j)-d<sub>h</sub>(i,j)<-C<sub>2</sub>(经过点(i,j)存在垂直方向边缘)<maths num="0007"><![CDATA[<math><mrow><mover><mi>I</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mover><mi>I</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow><mn>2</mn></mfrac><mo>+</mo><mfrac><mrow><mi>I</mi><mrow><mo>(</mo><mi>i</mi><mo>-</mo><mn>1</mn><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>+</mo><mi>I</mi><mrow><mo>(</mo><mi>i</mi><mo>+</mo><mn>1</mn><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow><mn>4</mn></mfrac><mo>;</mo></mrow></math>]]></maths>否则,如果d<sub>v</sub>(i,j)-d<sub>h</sub>(i,j)<-C<sub>3</sub>(经过点(i,j)存在垂直方向弱边缘)<maths num="0008"><![CDATA[<math><mrow><mover><mi>I</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mn>3</mn><mover><mi>I</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow><mn>4</mn></mfrac><mo>+</mo><mfrac><mrow><mi>I</mi><mrow><mo>(</mo><mi>i</mi><mo>-</mo><mn>1</mn><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>+</mo><mi>I</mi><mrow><mo>(</mo><mi>i</mi><mo>+</mo><mn>1</mn><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow><mn>8</mn></mfrac><mo>;</mo></mrow></math>]]></maths>判断结束判断结束;所述步骤B中对每个像素点计算误差估计能量函数Δ的步骤为:B1.基于图像I和滤波图像<img file="FSA00000245211500027.GIF" wi="25" he="51" />计算滤波误差图像<img file="FSA00000245211500028.GIF" wi="250" he="67" />B2.根据得到的水平梯度d<sub>h</sub>和垂直梯度d<sub>v</sub>以及滤波误差图像g,按式(4)计算误差能量值Δ:Δ=d<sub>h</sub>+d<sub>v</sub>+(|g(i-1,j)|+|g(i+1,j)|)/2                                                 (4)+(|g(i,j-1)|+|g(i,j+1)|)/2所述步骤C中,求4级量化器Q(Δ)∈{0,1,2,3}的步骤为:C1.基于所得到的误差能量值Δ和滤波误差图像g,应用动态规划算法使得以下条件熵的值最小:<maths num="0009"><![CDATA[<math><mrow><mo>-</mo><munderover><mi>&Sigma;</mi><mrow><mi>d</mi><mo>=</mo><mn>0</mn></mrow><mn>3</mn></munderover><munder><mi>&Sigma;</mi><mrow><msub><mi>q</mi><mi>d</mi></msub><mo>&le;</mo><mi>&Delta;</mi><mo>&lt;</mo><msub><mi>q</mi><mrow><mi>d</mi><mo>+</mo><mn>1</mn></mrow></msub></mrow></munder><mi>p</mi><mrow><mo>(</mo><mi>g</mi><mo>|</mo><msub><mi>q</mi><mi>d</mi></msub><mo>&le;</mo><mi>&Delta;</mi><mo>&lt;</mo><msub><mi>q</mi><mrow><mi>d</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow><mi>log</mi><mi>p</mi><mrow><mo>(</mo><mi>g</mi><mo>|</mo><msub><mi>q</mi><mi>d</mi></msub><mo>&le;</mo><mi>&Delta;</mi><mo>&lt;</mo><msub><mi>q</mi><mrow><mi>d</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow></math>]]></maths>p(g|q<sub>d</sub>≤Δ<q<sub>d+1</sub>)是当前像素点在图像g相对于误差能量Δ得到的条件概率,q<sub>d</sub>是个整数,d=0,...,4,且有0=q<sub>1</sub><q<sub>2</sub><q<sub>3</sub><q<sub>4</sub>=∞,构成误差能量Δ的量化区间:<maths num="0010"><![CDATA[<math><mrow><mi>&Delta;</mi><mo>&Element;</mo><msubsup><mo>&cup;</mo><mrow><mi>d</mi><mo>=</mo><mn>0</mn></mrow><mn>3</mn></msubsup><mrow><mo>[</mo><msub><mi>q</mi><mi>d</mi></msub><mo>,</mo><msub><mi>q</mi><mrow><mi>d</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow></math>]]></maths>C2.将误差能量Δ,量化到正整数域中的四个区间里,即Q(Δ)为:<maths num="0011"><![CDATA[<math><mrow><mi>Q</mi><mrow><mo>(</mo><mi>&Delta;</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mn>0</mn><mo>,</mo></mtd><mtd><msub><mi>q</mi><mn>0</mn></msub><mo>&le;</mo><mi>&Delta;</mi><mo>&lt;</mo><msub><mi>q</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><mn>1</mn><mo>,</mo></mtd><mtd><msub><mi>q</mi><mn>1</mn></msub><mo>&le;</mo><mi>&Delta;</mi><mo>&lt;</mo><msub><mi>q</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd><mn>2</mn><mo>,</mo></mtd><mtd><msub><mi>q</mi><mn>2</mn></msub><mo>&le;</mo><mi>&Delta;</mi><mo>&lt;</mo><msub><mi>q</mi><mn>3</mn></msub></mtd></mtr><mtr><mtd><mn>3</mn><mo>,</mo></mtd><mtd><msub><mi>q</mi><mn>3</mn></msub><mo>&le;</mo><mi>&Delta;</mi><mo>&lt;</mo><msub><mi>q</mi><mn>4</mn></msub></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow></math>]]></maths>Q(Δ)∈{0,1,2,3},Q(Δ)也称作标量量化器,{0,1,2,3}是4个整数的集合;所述步骤D中,构造上下文量化器Q(C)步骤为:D1.设当前像素点的坐标值为x=(i,j),取式(8)所示的3×3的图像邻域:x<sub>0</sub>=(i-1,j-1)x<sub>1</sub>=(i-1,j)x<sub>2</sub>=(i-1,j+1)x<sub>3</sub>=(i,j-1)x<sub>4</sub>=(i,j+1)x<sub>5</sub>=(i+1,j-1)                                   (8)x<sub>6</sub>=(i+1,j)x<sub>7</sub>=(i+1,j+1)D2.在以上3×3的图像邻域内,抽取纹理特征S=s<sub>7</sub>s<sub>6</sub>s<sub>5</sub>s<sub>4</sub>s<sub>3</sub>s<sub>2</sub>s<sub>1</sub>s<sub>0</sub>,其中:<maths num="0012"><![CDATA[<math><mrow><msub><mi>s</mi><mi>k</mi></msub><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mn>0</mn></mtd><mtd><mi>I</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>k</mi></msub><mo>)</mo></mrow><mo>&GreaterEqual;</mo><mover><mi>I</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mi>I</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>k</mi></msub><mo>)</mo></mrow><mo>&lt;</mo><mover><mi>I</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mn>0</mn><mo>&le;</mo><mi>k</mi><mo>&le;</mo><mn>7</mn><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mrow></math>]]></maths>D3.纹理特征S为大小8位,量化的误差能量Q(Δ)为0~3的数字,大小为2位的数字,将Q(Δ)和S做二进制位数合并,生成一个大小为10位的数字,把它看作一个量化的上下文C<sub>Q</sub>,得到一组1024个数字,即0~1023,把这1024个数字标记成一个量化的上下文集合C={C<sub>Q</sub>|C<sub>Q</sub>=0,...1023};所述E步骤E中,构造滤波器f(x|C<sub>Q</sub>)的步骤为:E1.在图像I中,针对每个像素点y,在其周围,选择一个如下的菱形邻域R(y):<tables num="0001"><table><tgroup cols="5"><colspec colname="c001" colwidth="20%" /><colspec colname="c002" colwidth="20%" /><colspec colname="c003" colwidth="20%" /><colspec colname="c004" colwidth="20%" /><colspec colname="c005" colwidth="20%" /><tbody><row><entry morerows="1"></entry><entry morerows="1"></entry><entry morerows="1">  x<sub>1</sub></entry><entry morerows="1"></entry><entry morerows="1"></entry></row><row><entry morerows="1"></entry><entry morerows="1">  x<sub>2</sub></entry><entry morerows="1">  x<sub>3</sub></entry><entry morerows="1">  x<sub>4</sub></entry><entry morerows="1"></entry></row><row><entry morerows="1">  x<sub>5</sub></entry><entry morerows="1">  x<sub>6</sub></entry><entry morerows="1">  y</entry><entry morerows="1">  x<sub>7</sub></entry><entry morerows="1">  x<sub>8</sub></entry></row><row><entry morerows="1"></entry><entry morerows="1">  x<sub>9</sub></entry><entry morerows="1">  x<sub>10</sub></entry><entry morerows="1">  x<sub>11</sub></entry><entry morerows="1"></entry></row><row><entry morerows="1"></entry><entry morerows="1"></entry><entry morerows="1">  x<sub>12</sub></entry><entry morerows="1"></entry><entry morerows="1"></entry></row></tbody></tgroup></table></tables>(10)E2.根据步骤D所得到1024个量化的上下文集合C,得到像素点集满足Y={yC<sub>Q</sub>(y)∈C,C<sub>Q</sub>(y)=C<sub>Q</sub>},且有R(Y)={R(y)|C<sub>Q</sub>(y)∈C,C<sub>Q</sub>(y)=C<sub>Q</sub>},设对所有R(Y),像素点灰度值y和其菱形邻域内中的其它12个像素点灰度值x<sub>k</sub>都满足如下关系:<maths num="0013"><![CDATA[<math><mrow><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mn>12</mn></munderover><msub><mi>b</mi><mi>k</mi></msub><msub><mi>x</mi><mi>k</mi></msub><mo>+</mo><mi>&alpha;</mi><mo>=</mo><mi>y</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow></math>]]></maths>则通过回归分析方法,估计出系数b<sub>k</sub>和α,该系数b<sub>k</sub>和α即为滤波器f(x|C<sub>Q</sub>)的滤波系数。
地址 201206 上海市浦东新区台儿庄路666弄25号601室