发明名称 图像处理中的快速形态学腐蚀、膨胀方法
摘要 图像处理中的快速形态学腐蚀、膨胀方法属于图像处理技术领域,其特征在于:它采用在矩形结构元素上附加了两个滑动窗口即竖直和水平两个方向的滑动窗口,在用矩形结构元素通过移动遍历整个图像进行腐蚀、膨胀运算过程中,通过水平和竖直滑动窗口记录已经比较过的局部信息,以便在以后的计算中可直接提取使用,以实现减少并消除重复比较的计算冗余,大大节省了运算时间,同时给出了与现有技术比较的实验结果。
申请公布号 CN1556503A 申请公布日期 2004.12.22
申请号 CN200410000340.0 申请日期 2004.01.09
申请人 清华大学 发明人 钟玉琢;倪欣来;孙立峰;李凌;杨士强
分类号 G06T5/30 主分类号 G06T5/30
代理机构 代理人
主权项 1、图像处理中的快速形态学腐蚀、膨胀方法,采用矩形的结构元素,其特征在于:我们在矩形结构元素上附加了滑动窗口,它含有以下依次由计算机来执行图像处理的各个步骤:(1)把将要进行处理的图像文件读取到内存中,存入图像的宽度WI、高度HI、图像的有效区域I,I={(x,y)|0≤x<WI,0≤y<HI},以及图像各点的像素值;(2)在计算机中进行下列参数的初始化设置:矩形结构元素的宽度WSE,也代表水平滑动窗口X的宽度,其值用该窗口所覆盖的像素数表示,用X[w](w=0,1,Λ,WSE-1)表示水平滑动窗口序号为w的单元;矩形结构元素的高度HSE,也代表垂直滑动窗口Y的高度,其值用该窗口所覆盖的像素数表示,用Yi[v](v=0,1,Λ,HSE-1)表示该竖直滑动窗口序号为v的单元;任选矩形结构元素的原点O,OX为该原点在矩形结构元素中所处位置的横坐标,OY为该原点在矩形结构元素中所处位置的纵坐标;图像第i列第j行的像素为Pix[i][j],其中Pix是像素的英文符号缩写;(3)利用矩形结构元素进行腐蚀、膨胀运算操作顺序和滑动窗口初始状态利用矩形结构元素进行腐蚀运算时,依次将矩形结构元素的原点与图像的每一个像素对齐,扫描整幅图像,扫描顺序可以任意,一般选择从上到下,从左到右的次序,依次处理图像中的各个像素,先选定从左上角进入后,再从上往下扫描,使得结构元素的原点与图像中左上角相应的顶点重合,该点即为要求所需要的腐蚀运算的第一个像素点,此时该矩形结构元素所覆盖的图像中的像素点即为有效像素值,在腐蚀运算中,把落在图像边缘之外的无效点都置为最大灰度值MXG;膨胀运算与腐蚀运算类似,不同的是要先将矩形结构元素进行转置,然后利用转置后的矩形结构元素扫描图像,而且在膨胀运算中,落在图像边缘之外的无效点都置为最小灰度值MNG;对于任意的矩形结构元素WSE、HSE、OX、OY,我们在对每个像素进行腐蚀、膨胀运算处理过程中,将结构元素的原点OX、OY与进行处理的像素对齐,同时设置图像的临时坐标系,其原点为当前进行腐蚀、膨胀运算的像素点,可以得到:所有竖直滑动窗口Yi的初始状态为:所有水平滑动窗口X的初始状态为:(4)初始化上述第一个像素其所在的行j的第一个竖直滑动窗口Y,即执行以下公式并对垂直滑动窗口的各Y单元进行数据填充,以记录图像原点附近的局部信息:同时,Yi(j)[0]中存储的是竖直窗口内所有有效象素的最小值,即<math> <mrow> <msubsup> <mi>Y</mi> <mi>i</mi> <mrow> <mo>(</mo> <mi>j</mi> <mo>)</mo> </mrow> </msubsup> <mo>[</mo> <mn>0</mn> <mo>]</mo> <mo>=</mo> <mi>min</mi> <mo>{</mo> <mi>Pix</mi> <mo>[</mo> <mi>i</mi> <mo>]</mo> <mo>[</mo> <mi>y</mi> <mo>]</mo> <mo>|</mo> <mi>j</mi> <mo>&le;</mo> <mi>y</mi> <mo>&lt;</mo> <mi>j</mi> <mo>+</mo> <msub> <mi>H</mi> <mi>SE</mi> </msub> <mo>,</mo> <mrow> <mo>(</mo> <mi>i</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> <mo>&Element;</mo> <mi>I</mi> <mo>}</mo> <mo>;</mo> </mrow> </math> (5)初始化上述第一个像素其所在的行j的第一个水平滑动窗口X,即执行以下公式并对水平滑动窗口的各个X单元进行数据填充,以记录图像原点附近的局部信息:此时,Xj(i)[0]的值是与第i列到第i+WSE-1列相联的有效竖直滑动窗口的Y[0]值中最小的一个,即:<math> <mrow> <msubsup> <mi>X</mi> <mi>j</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> <mo>[</mo> <mn>0</mn> <mo>]</mo> <mo>=</mo> <mi>min</mi> <mo>{</mo> <mi>Pix</mi> <mo>[</mo> <mi>x</mi> <mo>]</mo> <mo>[</mo> <mi>y</mi> <mo>]</mo> <mo>|</mo> <mi>i</mi> <mo>&le;</mo> <mi>x</mi> <mo>&lt;</mo> <mi>i</mi> <mo>+</mo> <msub> <mi>W</mi> <mi>SE</mi> </msub> <mo>,</mo> <mi>j</mi> <mo>&le;</mo> <mi>x</mi> <mo>&lt;</mo> <mi>j</mi> <mo>+</mo> <msub> <mi>H</mi> <mi>SE</mi> </msub> <mo>,</mo> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> <mo>&Element;</mo> <mi>I</mi> <mo>}</mo> <mo>;</mo> </mrow> </math> (6)从该j行第一个像素开始修改像素值:(7)更新水平滑动窗口:设水平滑动窗口X处于状态Xj(i),窗口向右移动一个象素并执行更新过程后,则X变为状态Xj(i+1),<math> <mrow> <msubsup> <mi>X</mi> <mi>j</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> </msubsup> <mo>[</mo> <msub> <mi>W</mi> <mi>SE</mi> </msub> <mo>-</mo> <mn>1</mn> <mo>]</mo> <mo>=</mo> <msubsup> <mi>Y</mi> <mrow> <mi>i</mi> <mo>+</mo> <msub> <mi>W</mi> <mi>SE</mi> </msub> </mrow> <mrow> <mo>(</mo> <mi>j</mi> <mo>)</mo> </mrow> </msubsup> <mo>[</mo> <mn>0</mn> <mo>]</mo> <mo>;</mo> </mrow> </math> 此时Xj(i+1)[0]中存储的是结构元素水平移动后的所覆盖窗口中象素的最小灰度值:(8)修改矩形结构元素向右移动一个像素后,该点像素值;(9)重复执行(7)~(8),直至该行所有像素都处理完毕;(10)更新竖直滑动窗口:设某个竖直滑动窗口Yi处于状态Yi(j),更新之后,变为状态Yi(j+1),按下式进行更新:<math> <mrow> <msubsup> <mi>Y</mi> <mi>i</mi> <mrow> <mo>(</mo> <mi>j</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> </msubsup> <mo>[</mo> <msub> <mi>H</mi> <mi>SE</mi> </msub> <mo>-</mo> <mn>1</mn> <mo>]</mo> <mo>=</mo> <mi>Pix</mi> <mo>[</mo> <mi>i</mi> <mo>]</mo> <mo>[</mo> <mi>j</mi> <mo>+</mo> <msub> <mi>H</mi> <mi>SE</mi> </msub> <mo>]</mo> <mo>;</mo> </mrow> </math> (11)重复执行步骤(5)~(10),直到最后一行为止,此时整幅图像处理完毕。
地址 100084北京市100084-82信箱