一种智能菌落计数方法转让专利
申请号 : CN201610819425.4
文献号 : CN106447020B
文献日 : 2018-11-23
发明人 : 刘昱昊
申请人 : 上海海事大学
摘要 :
权利要求 :
1.一种智能菌落计数系统,其特征在于包括:图像采集模块,边缘滤除模块,二值化处理模块,图像分割模块,特征匹配模块,结果显示模块,参数交互设置模块;
所述的边缘滤除模块,用于去除可能存在的边界信息;边缘滤除模块接收图像采集模块传递过来的图像M,其步骤为:第一步将图像M显示在屏幕上;第二步,由使用者划定合适的培养皿边界,对于不含边界的图像,使用者可以直接选择跳过该模块,直接将图像M传递给二值化处理模块;第三步,对于存在培养皿边界的图像,在图像M上浮动显示一个圆形区域,由使用者拖动培养皿进行移动、放大、缩小或调整为椭圆形以适应图像中的培养皿形状,从而使圆形区域或椭圆区域内包含图像中的全部菌落;第四步,将圆形区域外的图像的所有像素点设为NaN,即对于圆形区域外的任一点(a,b),M(a,b)=NaN;第五步,接收由参数交互设置模块传递来的菌落样本点灰度值Ms和背景点灰度值Mb;第六步,根据Ms和Mb对区域外的点进行填充数值,否则提示用户;最后,将填充后的图像传递给二值化处理模块;
s b
所述的根据M 和M 对区域外的点进行填充数值,其方法如下:对于图像M中的值为NaN的像素点进行赋值,由于值为NaN的点为背景点,所以,若Mb>Ms,则对于所有值为NaN,设值为
255;若Mb<Ms,则对于所有值为NaN,设值为0;
所述的二值化处理模块,其步骤为:该模块接收来自于边缘滤除模块所传递过来的去除边界的图像M,第一步,对图像M进行滤波,得到滤波后的图像M′;第二步,建立基于图像M′的灰度直方图,由于图像M′的每个点的取值范围为[0,255],所以对于i∈[0,255],计算其在图像M′中灰度点为i的个数ni,然后设图像M′为p行q列,对于每个ni,计算Pi=ni/(p×q);
第三步,判断以Pi组成的向量中存在峰值的个数,其中i∈[0,255],峰值的判断方法为,对于Pi,其中i∈[1,254],如果Pi-1<Pi并且Pi+1<Pi则此刻的i即为一个峰值,统计出在i∈[1,
254]中所有峰值的个数;第四步,若峰值个数为2,或者重复次数大于1000次,进入第五步,否则,则对Pi进行平滑,其中i∈[0,255],平滑的方法为:赋值P′1=(P1+P2)/2,p′i=(Pi-1+Pi+Pi+1)/3,P′255=(P254+P255)/2,计算结束后,Pi=P′i其中i∈[0,255],进入第三步;第五步,若重复次数大于1000后峰值个数仍不为2,说明图像M′不是双峰结构,对其进行二值化赋值,若峰值个数为2,则说明M′是双峰结构,对应的两个峰值分别为u1和u1,对其进行二值化赋值;并将二值化图像Mbin传递给图像分割模块;
所述的对图像M进行滤波,得到滤波后的图像M′,设图像M为p行q列,其步骤如下:首先对于图像M上的每个点M(a,b),进行如下处理:(1)如果M(a,b)为图像的角点,其计算方法为:M′(1,1)=[M(1,1)+M(1,2)+M(2,1)+M(2,2)]/4,M′(1,q)=[M(1,q)+M(2,q)+M(1,q-1)+M(2,q-1)]/4,M′(p,1)=[M(p,1)+M(p,2)+M(p-1,1)+M(p-1,2)]/4,M′(p,q)=[M(p,q)+M(p-1,q)+M(p,q-1)+M(p-1,q-1)]/4,设图像左上角的点的坐标为(1,1);(2)排除(1)中的点,如果M(a,b)为图像的边界点,其计算方法为:若a=1,则M′(1,b)=[M(1,b-1)+M(1,b)+M(1,b+1)+M(2,b-1)+M(2,b)+M(2,b+1)]/6,若a=p,则M′(p,b)=[M(p,b-1)+M(p,b)+M(p,b+
1)+M(p-1,b-1)+M(p-1,b)+M(p-1,b+1)]/6,若b=1,则M′(a,1)=[M(a-1,1)+M(a,1)+M(a+
1,1)+M(a-1,2)+M(a,2)+M(a+1,2)]/6,若b=q,则M′(a,q)=M[(a-1,q)+M(a,q)+M(a+1,q)+M(a-1,q-1)+M(a,q-1)+M(a+1,q-1)]/6;(3)排除(1),(2)中的点,其余点的计算方法为M′(a,b)=[M(a-1,b-1)+M(a,b-1)+M(a+1,b-1)+M(a-1,b)+M(a,b)+M(a+1,b)+M(a-1,b+1)+M(a,b+1)+M(a+1,b+1)]/9;以上结果若不为整数,则保留整数部分,从而得到M对应的滤波后的图像M′;
对于图像M′不是双峰结构,对其进行二值化赋值的方法可以简单的比较Ms和Mb,其中Ms和Mb为由参数交互设置模块得到的菌落样本点灰度值Ms和背景点灰度值Mb,判断1.若Mb>Ms,对于M′上的每个点,设其坐标为(x,y),赋值的公式为:如果M′(x,y)<(Mb+Ms)/2,Mbin(x,y)=1,否则Mbin(x,y)=0;
判断2.若Mb<Ms,对于M′上的每个点(x,y),赋值的公式为:
如果M′(x,y)>(Mb+Ms)/2,Mbin(x,y)=1,否则Mbin(x,y)=0;
对于图像M′是双峰结构,对其进行二值化赋值的方法为:第一步,找到双峰之间的最小值,即对于Pi寻找使Pi取值最小的i,其中i∈[u1,u2],此刻的i即为阈值,设i=μ;第二步,对于M′上的每个点(x,y):判断1.若Mb>Ms,则赋值的公式为:
如果M′(x,y)<μ,Mbin(x,y)=1,否则Mbin(x,y)=0;
b s
判断2.若M<M,赋值的公式为:
如果M′(x,y)>μ,Mbin(x,y)=1,否则Mbin(x,y)=0;
所述的图像分割模块,其步骤为:第一步,对二值化图像Mbin进行腐蚀膨胀处理,得到处理后的图像M″;第二步,接收由参数交互设置模块设置的最小菌落半径rmin和最大菌落半径rmax,根据图像M″寻找图像中所有的圆形区域;第三步,根据选定的圆形区域对滤波后的图像M′进行分割,将分割的结果构成的集合Sp传递给特征匹配模块;
所述的对二值化图像Mbin进行腐蚀膨胀处理,其方法如下:第一步,对于Mbin上的所有点,选取当前点(a,b)及以当前点周围的8个点所构成的3×3区间内的9个点,若都为1,则否则, 对于边界点,会出现不够9个点的情况,那么只需考虑
3×3区间内存在的点即可;第二步,对于 上的所有点,选取当前点(a,b)及以当前点周围的8个点所构成的3×3区间内的9个点,若都为0,则M″(a,b)=0,否则,M″(a,b)=1;对于边界点,会出现不够9个点的情况,那么只需考虑3×3区间内存在的点即可;从而得到了腐蚀膨胀处理后的二值化图像M″;
所述的根据图像M″寻找图像中所有的圆形区域,其步骤如下:第一步,在图像M″中随机寻找一个值为1并且没有被选中过的点,设该点为Pg其对应图像M″坐标为(x,y),构造出Pg点所对应的连通区域边界点集合G;第二步,判断该连通区域边界点集合G所围成的区间是否小于最小菌落半径rmin所围成的区间,如果小于,则将连通区域边界点集合G所围成的区间在图像M″中所对应的点赋值为0,算法跳转到第一步;第三步,根据连通区域边界点集合G,进行霍夫变换,从而得到边界点集合G所对应的最可能的圆;第四步,判断该区域是否为所要求的圆形,如果是,则将当前的圆形信息保存在集合Sp中,并在图像M″中将该圆形区域覆盖掉;第五步,判断图像M″是否为空,如果不为空,转到第一步;
所述的构造出Pg点所对应的连通区域边界点集合G其步骤为:第一步,设Pg坐标为(x,y),i=0,判断通过Pg点角度为θ的直线在图像M″上划过的全为1的区间,记录该区间的两个端点,并将这两个端点的集合放入集合G,对于重复的端点,只记录一次,其中θ=0,θ=π/4,θ=2π/4和θ=3π/4,此刻共有四条线,每条线有两个交点,共8个端点;第二步,设i=3,对于θ=[π/2i,3π/2i,5π/2i,…,(2i-1)π/2i],计算通过Pg点角度为θ的直线在图像M″上划过的全为1的区间,记录该区间的所有端点;第三步,若第二步中所记录的所有端点中,至少存在一个端点,该端点在集合G中不存在,则将这些不存在的端点加入到集合G中,赋值i=i+1,算法转到第二步继续计算;若第二步中所记录的所有端点在集合G中都存在,意味着不需要再细分θ,此时已经构造出点所对应的连通区域边界点集合G;
所述的判断通过Pg点角度为θ的直线在图像M″上划过的全为1的区间,记录该区间的两个端点,对于角度为θ,其步骤为:设Pg点对应图像M″坐标为(a1,b1),计算k=tanθ,bk=b1-a1×tanθ,参数k和bk为通过Pg点的直线方程y=kx+bk上所对应的参数,然后分别进行正向搜索和反向搜索,通过正向搜索和反向搜索所得的点A,B即为所记录该区间的两个端点:正向搜索:
当θ≠π/2时,正向搜索步骤为:
第一步,x坐标设为x=a1;第二步,x坐标自增1个像素,并根据y=kx+bk计算对应的y坐标;第三步,若超出了图像M”的坐标范围,则点 正向搜索边界点结束,否则判断M″(x,y)是否为0,若不为0,则转入第二步继续计算,若为0,则记录点A=(x-1,k(x-1)+bk),正向搜索边界点结束;
当θ=π/2时,tanθ不存在,此时的正向搜索步骤为:
第一步,x坐标设为x=a1;第二步,y坐标自增1个像素;第三步,若(x,y)超出了图像M″的坐标范围,则点 正向搜索边界点结束,否则判断M″(x,y)是否为0,若不为0,则转入第二步继续计算,若为0,则记录点A=(a1,y-1),正向搜索边界点结束;
反向搜索:
当θ≠π/2时,反向搜索步骤为:
第一步,x坐标设为x=a1;第二步,x坐标自减1个像素,并根据y=kx+bk计算对应的y坐标;第三步,若(x,y)超出了图像M″的坐标范围,则点 反向搜索边界点结束,否则判断M″(x,y)是否为0,若不为0,则转入第二步继续计算,若为0,则记录点B=(x+1,k(x+1)+bk),反向搜索边界点结束;
当θ=π/2时,tanθ不存在,此时的反向搜索步骤为:
第一步,x坐标设为x=a1;第二步,x坐标自减1个像素,并根据y=kx+bk计算对应的y坐标;第三步,若(x,y)超出了图像M″的坐标范围,则点 反向搜索边界点结束,否则判断M″(x,y)是否为0,若不为0,则转入第二步继续计算,若为0,则记录点B=(x+1,k(x+1)+bk),反向搜索边界点结束;
所述的判断该连通区域边界点集合G所围成的区间是否小于最小菌落半径rmin所围成的区间,如果小于,则将连通区域边界点集合G所围成的区间在图像M″中所对应的点赋值为
0,其步骤为:第一步,统计连通区域边界点集合G中所有的端点,计算其横坐标最大的像素差和纵坐标最大的像素差,选取二者最大值与 相比较;第二步,如果小于说明该连通区域所围成的正方形区间小于最小菌落半径rmin所围成的区间,则
根据边界点集合G中的最小横纵坐标xmin,ymin,最大横纵坐标xmax,ymax所围成的矩形区域,其端点为(xmin,ymin),(xmax,ymin),(xmin,ymax)和(xmax,ymax),将图像M″所对应的区域内的点赋值为0;
所述的根据连通区域边界点集合G,进行霍夫变换,从而得到边界点集合G所对应的最可能的圆,其中值rmax由参数交互设置模块设置,图像M″为p×q矩阵,num()为集合中的元素的个数,其步骤为:第一步,构造一个三维矩阵Hough,其维度为p×q×r,初始时矩阵Hough的所有元素都为0;
第二步,当边界点集合G不为空时,从边界点集合G中取出一个点,设其对应图像M″的坐标为(x,y),执行如下操作:
对于r=[0,1,2,…,1.3rmax],r为整数:
对于θ=[0,π/12,2π/12,3π/12,…,11π/12]:
计算aH=x-rcosθ,bH=x-rsinθ;
如果0<aH≤p并且0<bH≤q,则Hough(aH,bH,r)=Hough(aH,bH,r)+1;
第三步,取三维矩阵Hough中的最大元素值为N,若N≤max(2,num(G)/25),说明当前连通区域边界点不是圆形;否则,意味着当前边界点集合G所围成的区域为一个圆形,对于三维矩阵Hough中所有元素值大于0.7×N的坐标点(aHi,bHi,ri)组成的集合Hp,分别计算其在各自维度的坐标的平均值: r=∑ri/num(Hp),其中(aHi,bHi,ri)∈Hp,则该圆的圆心坐标为 半径为r;
所述的判断该区域是否为所要求的圆形,如果是,则将当前的圆形信息保存在集合Sp中,并在图像M″中将该圆形区域覆盖掉,其步骤为:
第一步,若当前边界点集合G所围成的区域为不是一个圆形,则对于集合G中的每个点对应图像M″的坐标(x,y),如果该点与其他点的最小距离小于2像素,则将M″(x,y),M″(x+1,y),M″(x,y+1)和M″(x+1,y+1)赋值为0;
第二步,若当前边界点集合G所围成的区域为一个圆形,该圆的圆心坐标为(ar,br),半径为r,则:如果r<rmin,意味着当前圆形区域过小,说明当前圆形区域内的目标不是要寻找的目标,则将图像M″的区域内对应于圆形区域坐标的所有值设为0;如果rmin<r<rmax,意味着当前圆形区域内的图像可能是要寻找的图像,则将图像M″的区域内对应于圆形区域坐标的所有值设为0,将(ar,br,r)保存于已选定集合Sp中;如果半径r>rmax,意味着当前圆形区域内可能有多个待识别的圆形目标,将M″(ar,br)赋值为0;
所述的特征匹配模块,用来对图像分割模块所得到的集合Sp进行特征匹配,将分割得到的圆形与使用者在参数交互设置模块中所选定的典型菌落样本picsample进行特征匹配,匹配成功的图像即为菌落图像,统计图像个数即可得到样本菌落个数;其步骤为:第一步,对于图像分割模块所得到的圆进行扩充,得到矩形集合Rp,从而保留待匹配图像的边界信息;第二步,将待匹配图像和典型菌落样本图像构成一个集合,分别对集合中的每一张图像提取ORB特征;第三步,将每一块待匹配图像与典型菌落样本图像进行特征点匹配,得到每一个待匹配图像与典型菌落样本图像之间的匹配点的个数;第四步,从参数交互设置模块中获得阈值,统计匹配特征点的个数高于阈值的待匹配图像,将这些图像构成一个集合,集合的元素个数即为样本菌落的个数,将包含匹配成功的待匹配图像信息的集合传递给结果显示模块;
所述的对于图像分割模块所得到的圆进行扩充,其步骤为:第一步,若圆的集合Sp不为空,则从集合Sp中提取一个元素Asp,设为(ap1,bp1,rp1),则该圆的圆心的坐标为(ap1,bp1),圆半径为rp1;第二步,计算该圆的圆心与集合Sp中其他圆的圆心之间的欧氏距离,选取距离最小的元素Bsp设为(ap2,bp2,rp2),则该圆的圆心的坐标为(ap2,bp2),圆半径为rp2;第三步,计算Asp与Bsp之间的欧氏距离得 则元素Asp的新半径为rp1′=d×rp1/(rp1+rp2)+10,若rp1′计算结果不为整数,则只保留整数部分;第四步,将元素Asp所代表的圆形区域转化为正方形,对于(ap1,bp1,rp1)及新的半径rp1′,其扩展后的正方形区间为坐标(ap1-rp1′,bp1-rp1′),(ap1-rp1′,bp1+rp1′),(ap1+rp1′,bp1-rp1′)和(ap1+rp1′,bp1+rp1′)所围成的正方形区域,并将这四个点保存在矩形集合Rp中;第五步,将元素ASp从集合Sp中删除,若集合Sp为空,扩充过程结束,否则算法转至第一步;
所述的将待匹配图像和典型菌落样本图像构成一个集合,分别对集合中的每一张图像提取ORB特征,其步骤为:第一步,对于矩形集合Rp中的每一个区间,设其四个顶点的坐标为(ap1-rp1′,bp1-rp1′),(ap1-rp1′,bp1+rp1′),(ap1+rp1′,bp1-rp1′)和(ap1+rp1′,bp1+rp1′),在图像M′中提取对应的区域内的图像Pgray,若矩形区域所对应的坐标超出了M′的范围,那么将超出的部分对应的图像Pgray上的像素值设为0,从而得到了矩形集合Rp中所有的元素对应的灰度图像集合;第二步,根据典型菌落样本picsample正方形的边长,将图像集合中的所有的图像进行放大或缩小,使缩放之后的图像与picsample为相同大小;第三步,对于缩放之后的图像和picsample,分别提取其ORB特征,对于每一个图像提取若干个ORB特征,每个ORB特征为一组字符串向量,其元素为[0,1],所有ORB特征向量的长度相同,为了节省空间,我们可以让字符串向量组成的二进制编码的每一位对应ORB特征的一个元素;
所述的将每一块待匹配图像与典型菌落样本图像进行特征点匹配,其步骤为:对于每一个待匹配图像所提取的ORB特征集合,用VI表示,则VI(i)表示待匹配图像的第i个ORB特征,典型菌落样本图像的ORB特征集合,用VP表示:对于VI中的每一个特征,用VI(i)表示:
计算出特征VI(i)与集合VP中的每一个特征的距离;
若同时满足(1)最小距离小于阈值;(2)最小距离<0.8×第二小距离意味着匹配成功,将匹配成功的数量加1;
该方法结束;
所述的计算出特征VI(i)与集合VP中的每一个特征的距离,对于集合VP中的每个特征,设该特征为VP(j),则计算特征VI(i)与特征VP(j)的距离,其步骤如下:由于VI(i)和VP(j)为两个长度相等的向量,向量上的每一位取值为0或1,所以,从VI(i)的第0位和VP(j)的第0位开始作对比,比较两个向量对应位的值是否相同,统计两个向量中对应元素不相同的位置个数,即为两个特征的距离;
所述的结果显示模块,接收来自于特征匹配模块传递来的包含匹配成功的待匹配图像信息的集合Vset;对于该集合的每一个匹配成功的待匹配图像信息,在读入的图像M上按照集合中的每一个待匹配图像的位置信息绘制一个矩形图案,该位置信息即为在图像M″上所对应的矩形区域,其中图像M″为图像分割模块中进行腐蚀膨胀处理后得到处理后的图像M″,若矩形位置超过图像M的边界,则超出边界部分不画出;并在图像外侧显示集合Vset的个数;考虑到可能出现的误判操作,允许用户通过鼠标操作在图像上添加、删除所绘制的矩形图案,并在集合Vset中进行对应的修改:(1).对于添加操作,使用者在认为漏判的菌落图案上操作鼠标,则绘制一个以鼠标操作位置的坐标为中心,以(rmax+rmin)/2为边长的矩形,其中rmin和rmax分别为参数交互设置模块所设置的最小菌落半径和最大菌落半径,同时,将该矩形区域信息加入集合Vset中;允许用户对该矩形框进行平移、放大缩小操作,在移动矩形框的同时,修改集合Vset中对应的矩形框信息;
(2).对于删除操作,使用者在认为错判的菌落上的矩形框内操作鼠标,则取得当前鼠标操作位置,则对于集合Vset中的所有元素的区域信息,如果当前鼠标位置落入该元素的矩形框内,则从屏幕上删掉该矩形框,并从集合Vset中删掉该对应的元素信息,判断点(Pa,Pb)是否落入矩形框内的方法为:对于矩形框的边界点(a1V,b1V),(a2V,b1V),(a1V,b2V)和(a2V,b2V),如果a1V<Pa<a2V,并且b1V<Pb<b2V,则意味着点(Pa,Pb)落入矩形框中;
所述的参数交互设置模块,其作用是与用户交互,得到所需要的参数信息;分别包括:
(1).指定典型菌落的样本图像时,第一步,由使用者在图像M上进行操作,选定一个圆形区域,设其圆心坐标为(Ia,Ib),半径为Ir;第二步,对于圆心坐标为(Ia,Ib),半径为Ir的s圆形区域的所有像素点,求其对应的灰度值的平均值,设该值为M ;第三步,将该圆形区域扩展成正方形区域,该正方形是由如下四个端点围成的:(Ia-Ir,Ib-Ir),(Ia+Ir,Ib-Ir),(Ia-Ir,Ib+Ir)和(Ia+Ir,Ib+Ir);将图像M′中对于坐标(Ia-Ir,Ib-Ir),(Ia+Ir,Ib-Ir),(Ia-Ir,Ib+Ir)和(Ia+Ir,Ib+Ir)所围成的区域内的图像复制出来,作为典型菌落样本picsample;
(2).指定典型菌落的背景图像时,第一步,由使用者在图像M上进行操作,选定一个矩形区域,该矩形区域长宽可以由使用者调节大小;第二步,对于使用者所指定的矩形区域内的所有像素点,求其对应的灰度值的平均值,设该值为Mb;若|Ms-Mb|<20,意味着背景区域与典型菌落的样本图像过于相似,要求使用者重新划定背景图像区域;
(3).指定最小菌落半径rmin和最大菌落半径rmax,第一步,指定最小菌落半径rmin时,首先,由使用者输入一个最小菌落半径rmin,并在屏幕上绘制一个半径为rmin的圆形区域,由使用者与屏幕上的菌落图案作对比,并调整rmin的大小;第二步,指定最大菌落半径rmax时,首先,由使用者输入一个最大菌落半径rmax,并在屏幕上绘制一个半径为rmax的圆形区域,然后,由使用者与屏幕上的菌落图案作对比,并调整rmax的大小;
(4).设定特征匹配模块的关于匹配成功特征点个数的阈值;第一步,接收来自特征匹配模块所计算得到的待匹配图像和每一个图像与典型菌落图像的特征匹配点个数,将所有图像显示给使用者;第二步,由使用者选择一张图像,这张图像上的匹配成功特征点个数即为阈值;若期望得到较多的匹配图像,可以将所有图像按照第一步操作所得到的匹配特征点个数,由小到大排序,由使用者选择第一个菌落图像,则阈值即为该图像对应的成功特征点个数减一;若期望得到较准确的匹配图像,则可以将所有图像按照第一步操作所得到的匹配特征点个数,由大到小排序,由使用者选择第一个非菌落图像,则阈值即为该图像对应的成功特征点个数;
将(1),(2)中指定的Ms和Mb传递给边缘滤除模块,将(1)中指定的典型菌落样本picsample传递给特征匹配模块,将(3)中指定的最小菌落半径rmin和最大菌落半径rmax传递给分割模块,将(4)中所指定的阈值传递给特征匹配模块。
说明书 :
一种智能菌落计数方法
技术领域
背景技术
发明内容
1)+M(2,q-1)]/4,M′(p,1)=[M(p,1)+M(p,2)+M(p-1,1)+M(p-1,2)]/4,M′(p,q)=[M(p,q)+M(p-1,q)+M(p,q-1)+M(p-1,q-1)]/4(设图像的(1,1)点为左上角的点);2,排除1中的点,如果M(a,b)为图像的边界点,其计算方法为:若a=1,则M′(1,b)=[M(1,b-1)+M(1,b)+M(1,b+
1)+M(2,b-1)+M(2,b)+M(2,b+1)]/6,若a=p,则M′(p,b)=[M(p,b-1)+M(p,b)+M(p,b+1)+M(p-1,b-1)+M(p-1,b)+M(p-1,b+1)]/6,若b=1,则M′(a,1)=[M(a-1,1)+M(a,1)+M(a+1,1)+M(a-1,2)+M(a,2)+M(a+1,2)]/6,若b=q,则M′(a,q)=M[(a-1,q)+M(a,q)+ M(a+1,q)+M(a-
1,q-1)+M(a,q-1)+M(a+1,q-1)]/6;3.排除1,2中的点,其余点的计算方法为M′(a,b)=[M(a-1,b-1)+M(a,b-1)+M(a+1,b-1)+M(a-1,b)+M(a,b)+M(a+1,b)+M(a-1,b+1)+M(a,b+1)+M(a+1,b+1)]/9。以上结果若不为整数,则保留整数部分,从而得到M对应的滤波图像M′.[0014] 所述的对于图Mgray不是双峰结构,对其进行二值化赋值的方法可以简单的比较Ms和Mb,1.若Mb>Ms,对于Mgray上的每个点(x,y),赋值的公式为:
据边界点集合G中的最小横纵坐标xmin,ymin,最大横纵坐标xmax,xmax所围成的矩形区域,其端点为 (xmin,ymin),(xmax,ymin),(xmin,xmax)和(xmax,xmax),将图像M″所对应的区域内的点赋值为0.
附图说明
具体实施方式
1)+M(2,q-1)]/4,M′(p,1)=[M(p,1)+M(p,2)+M(p-1,1)+M(p-1,2)]/4,M′(p,q)=[M(p,q)+M(p-1,q)+M(p,q-1)+M(p-1,q-1)]/4(设图像的(1,1)点为左上角的点);2,排除1中的点,如果M(a,b)为图像的边界点,其计算方法为:若a=1,则M′(1,b)=[M(1,b-1)+M(1,b)+M(1,b+
1)+M(2,b-1)+M(2,b)+M(2,b+1)]/6,若a=p,则M′(p,b)=[M(p,b-1)+M(p,b)+M(p,b+1)+M(p-1,b-1)+M(p-1,b)+M(p-1,b+1)]/6,若b=1,则M′(a,1)=[M(a-1,1)+M(a,1)+M(a+1,1)+M(a-1,2)+M(a,2)+M(a+1,2)]/6,若b=q,则M′(a,q)=M[(a-1,q)+M(a,q)+M(a+1,q)+M(a-
1,q-1)+M(a,q-1)+M(a+1,q-1)]/6;3.排除1,2中的点,其余点的计算方法为M′(a,b)=[M(a-1,b-1)+M(a,b-1)+M(a+1,b-1)+M(a-1,b)+M(a,b)+M(a+1,b)+M(a-1,b+1)+M(a,b+1)+M(a+1,b+1)]/9。以上结果若不为整数,则保留整数部分,从而得到M对应的滤波图像M′.[0087] 所述的对于图Mgray不是双峰结构,对其进行二值化赋值的方法可以简单的比较Ms和Mb,
据边界点集合G中的最小横纵坐标xmin,ymin,最大横纵坐标xmax,xmax所围成的矩形区域,其端点为(xmin,ymin),(xmax,ymin),(xmin,xmax)和(xmax,xmax),将图像M″所对应的区域内的点赋值为
0.