[发明专利]基于自适应密度峰值聚类的紫色土图像分割提取方法有效
申请号: | 201910991121.X | 申请日: | 2019-10-18 |
公开(公告)号: | CN110827306B | 公开(公告)日: | 2022-06-21 |
发明(设计)人: | 曾绍华;唐文密;詹林庆;罗达璐 | 申请(专利权)人: | 重庆师范大学 |
主分类号: | G06T7/13 | 分类号: | G06T7/13;G06T7/11;G06T7/90;G06V10/762;G06K9/62 |
代理公司: | 北京海虹嘉诚知识产权代理有限公司 11129 | 代理人: | 吕小琴 |
地址: | 404100 *** | 国省代码: | 重庆;50 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 自适应 密度 峰值 紫色土 图像 分割 提取 方法 | ||
1.一种基于自适应密度峰值聚类的紫色土图像分割提取方法,其特征在于:
包括以下步骤:
S1:对含有紫色土区域的紫色土彩色图像进行可分离性灰度变换,获得灰度图像Ⅰ;
S2:利用自适应密度峰值聚类算法对灰度图像Ⅰ进行初步分割,获得初步分割后的二值图像Ⅱ;
S3:对二值图像Ⅱ进行边界提取处理,获得紫色土壤区域的边界矩阵;
S4:对提取的边界矩阵进行填充,获得二值图像Ⅲ;
S5:求出二值图像Ⅲ与所述含有紫色土区域的彩色图像的哈达玛积,得到只包含有紫色土图像的分割图像;
所述步骤S3中的边界提取包括以下步骤:
S311:对初分割矩阵ImgIniSeg中,搜索边界起点:扫描初分隔矩阵ImgIniSeg,寻找边界起点ImgIniSeg(m,n),所述边界起点ImgIniSeg(m,n)需同时满足:ImgIniSeg(m,n)=1且在ImgIniSeg(m,n)的4-领域内,ImgIniSeg(m,n)的右方或下方的点至少有一个的值为1;
S312:搜索整条边界并记录该条边界最小行号mmin与最大行号mmax,以及该条边界最小列号nmin和最大列号nmax;
S313:判断最小行号mmin与最大行号mmax,以及最小列号nmin和最大列号nmax满足其中,mmin表示最小行号,mmax表示最大行号,nmin表示最小列号,nmax表示最大列号,height表示图像的高度,width表示图像的宽度,
若满足,则结束;若不满足,将矩阵ImgIniSeg和ImgBoundary中行号在mmin和mmax之间且列号在号nmin和nmax之间值为1的点置为0,并进入步骤S311;
所述步骤S312中搜索整条边界包括如下步骤:
S3121:新建与矩阵ImgIniSeg大小相同的零矩阵ImgBoundary;
S3122:初始化最小行号mmin与最大行号mmax,以及最小列号nmin和最大列号nmax:
mmin=mmax=k=m,nmin=nmax=p=n,其中,m表示边界起点ImgIniSeg(m,n)的行号,n表示边界起点ImgIniSeg(m,n)的列号,k表示以ImgIniSeg(m,n)为起点的边界的下一个边界点的行号的变量,p为以为起点的边界的下一个边界点的列号的变量;
S3123:初始化提取边界方向,判断边界起点ImgIniSeg(m,n)的4-领域内,ImgIniSeg(m,n)的右方点值是否为1,若是,则设置方向dir=0,同时p=p+1,nmax=p;若否,则设置方向dir=1,同时k=l+1,mmax=k;同时,设置ImgBoundary(k,p)=1,另记录起点的位置(k',p')和方向dir',k'=k,p'=p,dir'=dir;
S3124:将S3123中的方向dir的值代入dir=(dir+3)%4,即计算dir+3的和除以4的余数,当dir=(dir+3)%4时flag=0,并进入步骤S3126;否则进入S3125;
S3125:当dir=0时,若ImgIniSeg(k,p+1)=1,则flag=1,p=p+1,同时,若pnmax,则nmax=p,进入步骤S3126;否则继续下一行;
当dir=1时,若ImgIniSeg(k+1,p)=1,则flag=1,k=k+1,同时,若kmmax,则mmax=p,进入步骤S3126;否则继续下一行;
当dir=2时,若ImgIniSeg(k,p-1)=1,则flag=1,p=p-1,同时,若pnmin,则nmin=p,进入步骤S3126;否则继续下一行;
当dir=3时,若ImgIniSeg(k-1,p)=1,则flag=1,k=k-1,同时,若kmmin,则mmin=k,进入步骤S3126;
S3126:若flag=1,则ImgBoundary(k,p)=1,进入步骤S3127;若否,则dir=(dir+1)%4,进入步骤S3124;
S3127:判断条件(k=k')(p=p')(dir=dir')是否满足,若满足,则表示该条边界搜索结束;若否,则进入步骤S311;
所述步骤S4中的提取的边界矩阵进行填充包括如下步骤:
S401:初始化矩阵ImgBoundaryFill,所述矩阵ImgBoundaryFill是与矩阵ImgBoundary大小相同的零矩阵;
S402:从上到下,从左到右的顺序扫描矩阵ImgBoundary,若该点的值为0,且位于该点上方的点的值以及位于该点左方的点的值均不为0,则将该点视为土壤,同时将该点的值置为2;
S403:重复步骤S402,直至矩阵ImgBoundary遍历完成;
S404:从上到下,从左到右的顺序扫描矩阵ImgBoundary,寻找点ImgBoundary(m,n)=2且紧邻该点的右方或下方的点的值为0的点,将所述ImgBoundary(m,n)置为0,同时,k=m,p=n,并将(k,p)压入栈stack;
S405:按右下左上的顺序在矩阵ImgBoundary中搜索一个在点(k,p)的4-邻域内值为2的点,若搜索到新点,则停止下一个方向的搜索,更新(k,p)为新点的位置,ImgBoundary(k,p)=0,将(k,p)压入栈stack;若未搜索到,从栈中出栈一个元素赋值给(k,p);
S406:判断(k=m)(p=n)是否成立,若成立,则进入步骤S407;若否,则进入步骤S405;
S407:判断m=height,n=width是否成立,若成立,将矩阵ImgBoundaryFill中与边界矩阵ImgBoundary中值不为0的点对应位置的点置为1,并结束,获得二值矩阵ImgBoundaryFill,即为二值图像III;若否,则进入步骤S404。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆师范大学,未经重庆师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910991121.X/1.html,转载请声明来源钻瓜专利网。