主权项 |
一种利用计算机进行图像处理及模式识别的平滑方法,该包括以下步骤:<u>步骤S101,获取数字格式的图像矩阵;</u>获取过程具体包括:步骤S1011,利用成像设备获得图像,通过数据采集系统将图像传到图像转换系统;步骤S1012,通过图像转换系统,将图像转换成数字格式的图像矩阵A<sub>m*n</sub>(m>0;n>0),并保存。<u>步骤S102,利用模板对图像矩阵A<sub>m*n</sub>进行处理;</u>处理过程具体包括:步骤S1021,先确定三种合适的模板,三种模板为小于图像矩阵A<sub>m*n</sub>的图像矩阵,例如B<sub>u*k</sub>(u>k),B<sub>k*u</sub>(u>k),B<sub>k*k</sub>的图像矩阵;其中,B<sub>u*k</sub>(u>k),B<sub>k*u</sub>(u>k),B<sub>k*k</sub>B<sub>u*k</sub>(u>k),的元素的取值对应于A<sub>m*n</sub>相应的元素,u和k一般远小于m和n,或者u和k的值均小于m/2和n/2;步骤S1022,确定遍历方式,可以从图像矩阵A<sub>m*n</sub>的任意一角开始,依次通过三种模板B<sub>u*k</sub>,B<sub>k*u</sub>,B<sub>k*k</sub>,顺时针或逆时针方向对每一个点进行遍历计算。第一,使用模板B<sub>u*k</sub>进行遍历运算;对图像矩阵A<sub>m*n</sub>按模板B<sub>u*k</sub>的计算方法对所有矩阵内的点进行遍历计算,遍历后生成的矩阵记为O<sub>m*n</sub>;遍历步骤如下:先根据B<sub>u*k</sub>的计算方法计算点A<sub>00</sub>;再计算A<sub>01</sub>,A<sub>02</sub>,A<sub>03</sub>,….;B<sub>u*k</sub>移动到最右边时,再往左移动,直至计算出A<sub>0n</sub>A<sub>11</sub>,A<sub>12</sub>,…;B<sub>u*k</sub>移动到最下边时,再往上移动,直至计算出A<sub>m*1</sub>A<sub>m*1</sub>,A<sub>m*2</sub>,…,A<sub>m*n</sub>,最后生成的矩阵记为O<sub>m*n</sub>;计算方法为<img file="FDA0000751399510000021.GIF" wi="593" he="195" />1≤i≤k,1≤j≤u;第二,使用模板B<sub>k*u</sub>进行遍历运算;对图像矩阵A<sub>m*n</sub>按模板B<sub>k*u</sub>的计算方法对所有矩阵内的点进行遍历计算,遍历后生成的矩阵记为P<sub>m*n</sub>;遍历步骤如下:先根据B<sub>k*u</sub>的计算方法计算点A<sub>00</sub>;再计算A<sub>01</sub>,A<sub>02</sub>,A<sub>03</sub>,….,A<sub>11</sub>,A<sub>12</sub>,…,A<sub>m*1</sub>,A<sub>m*2</sub>,…,A<sub>m*n</sub>,最后生成的矩阵记为P<sub>m*n</sub>,计算方法为<img file="FDA0000751399510000022.GIF" wi="793" he="181" />1≤i≤k,1≤j≤u;第三,使用模板B<sub>k*k</sub>进行遍历运算;对图像矩阵A<sub>m*n</sub>按模板B<sub>k*k</sub>的计算方法对所有矩阵内的点进行遍历计算,遍历后生成的矩阵记为Q<sub>m*n</sub>;遍历步骤如:先根据B<sub>k*k</sub>的计算方法计算点A<sub>00</sub>,再计算A<sub>01</sub>,A<sub>02</sub>,A<sub>03</sub>,….,A<sub>11</sub>,A<sub>12</sub>,…,A<sub>m*1</sub>,A<sub>m*2</sub>,…,A<sub>m*n</sub>,最后生成的矩阵记为Q<sub>m*n</sub>,计算方法为<img file="FDA0000751399510000023.GIF" wi="473" he="180" />1≤i≤k,1≤j≤k;<u>步骤S103,判断异常点,并将其修正;</u>过程具体包括:依次选择O<sub>m*n</sub>中的点,分别与矩阵P<sub>m*n</sub>、矩阵Q<sub>m*n</sub>中对应的点进行比较;如果O<sub>m*n</sub>中的点的值大于P<sub>m*n</sub>中对应点的值或小于Q<sub>m*n</sub>中对应点的值,对该点进行标记处理;标记处理后,通过O<sub>m*n</sub>,对O<sub>m*n</sub>中标记的点依次进行修正。当标记点位于矩阵内时,将标记点的像素值修正为上下左右四个点的均值,当标记点位于矩阵边缘时,将标记点的像素值修正为周围两个或三个点的均值;<u>步骤S104,处理完毕后,输出修正后的矩阵,即为图像平滑后的结果</u>。 |