CN109859212B - 一种无人机航拍图像大豆作物行分割方法 - Google Patents
一种无人机航拍图像大豆作物行分割方法 Download PDFInfo
- Publication number
- CN109859212B CN109859212B CN201910039172.2A CN201910039172A CN109859212B CN 109859212 B CN109859212 B CN 109859212B CN 201910039172 A CN201910039172 A CN 201910039172A CN 109859212 B CN109859212 B CN 109859212B
- Authority
- CN
- China
- Prior art keywords
- vertex
- column
- row
- image
- current
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Image Analysis (AREA)
Abstract
本发明公开了一种无人机航拍图像大豆作物行分割方法。首先进行航拍大豆作物图像分割,进一步基于行扫描确定作物行上下边界,基于列扫描确定作物行左右边界,同时确定作物行外接矩形的左、右参考顶点对,基于左右参考顶点对匹配实现作物行外接矩形提取,基于同行和同列的作物行外接矩形实现孤立左右参考顶点对的外接矩形提取,对获得的外接矩形矩阵进行列欠分割元素分割和列对齐,行欠分割元素分割和行对齐,以及“零元素”分割操作,最终提取出整副图像的作物行外接矩形。应用本发明可实现无人机航拍大豆作物图像中作物行的分割,为应用无人机航拍图像实现基于作物行颜色、面积、高度等指标的大豆育种选种工作奠定了技术基础。
Description
技术领域
本发明涉及一种图像处理方法,尤其是一种无人机航拍图像大豆作物行分割方法。
背景技术
大豆是一种重要的经济作物。为提高大豆的产量,大豆的育种和选种是关键,因此具有非常重要的应用价值。
目前大豆的育种和选种主要依赖专家的个人经验和人工测量,而大豆的育种和选种往往在上万个品种中进行,选育过程非常繁琐且选育结果随专家个体主观经验的不同而存在差异。因此,非常需要一些有助于实现大豆育种和选种过程自动化的方法。应用无人机拍摄田间大豆作物图像,基于航拍图像处理实现大豆选种的方法作为一种实现大豆育种选种过程自动化的良好解决方案,正受到越来越多从业人员的关注。然而,基于航拍图像处理实现大豆育种选种首先需实现航拍图像中不同品种大豆作物行的图像分割。目前,该工作主要依赖人工操作实现,费时费力,迫切需要一种大豆航拍图像作物行自动图像分割方法。
本发明可实现无人机航拍大豆作物图像中作物行的自动分割,可为应用无人机航拍图像实现基于作物行颜色、面积、高度等指标的大豆育种选种工作奠定了技术基础。
发明内容
本发明的目的在于提供一种无人机航拍图像大豆作物行分割方法,以实现无人机航拍图像中大豆作物行的自动图像分割,提取出大豆作物行的外接矩形。
本发明采用的技术方案是:
本发明包括如下步骤:
1.1)图像分割:采用基于归一化绿红色差OTSU自动阈值图像分割算法对无人机航拍m行×n列大豆作物图像S进行图像分割,获得二值图像I;
1.2)基于行扫描的作物行上下边界提取:将图像I横向分割成H个图像块;对每个图像块进行行扫描;根据相邻扫描行上前景像素数从零到非零、从非零到零的变化确定作物行上、下边界在图像I中的y坐标;
1.3)基于列扫描的作物行左右边界及外接矩形矩阵提取:将图像I纵向分割成V个图像块;对每个图像块进行列扫描;根据相邻扫描列上前景像素数从零到非零变化提取作物行左边界;提取作物行外接矩形的左上、左下参考顶点对;根据相邻扫描列上前景像素数从非零到零变化提取作物行右边界;提取作物行外接矩形的右上、右下参考顶点对;同时通过右、左参考顶点对间匹配提取相应作物行外接矩形的4个顶点;完成当前列扫描后,获得当前列上作物行外接矩形列,其中每个外接矩形为一个元素,每个元素存有该外接矩形左上、右下顶点图像坐标;根据当前列上已有外接矩形的左上、右下顶点图像坐标提取当前列中未匹配的孤立左、右参考顶点对对应作物行外接矩形,按序***当前外接矩形列;完成当前图像块列扫描后,获得当前图像块作物行外接矩形矩阵存入当前图像作物行外接矩形矩阵中;根据当前图像块已处理行数调整下一图像块起始行,进行下一图像块列扫描,直至完成整副图像的列扫描;
1.4)元素行高及列宽最小值、均值计算:求外接矩形矩阵中,外接矩形行高(外接矩形上下边距离)及列宽(外接矩形左右边距离)的最小值,并求大于最小值的行高、列宽的均值RowHAve、ColWAve;
1.5)列欠分割元素分割:扫描外接矩形矩阵中各元素,若元素宽度是列宽均值的Nc倍,且大于阈值Tc,则将该元素横向等分为Nc个元素;
1.6)列对齐:扫描外接矩形矩阵中各列,通过将每列中左上顶点x坐标与该列所有元素的左上顶点x坐标最小值的差值大于阈值Tw的各元素及与其同行的右侧元素顺序右移实现外接矩形矩阵的列对齐;
1.7)行欠分割元素分割:扫描外接矩形矩阵中各元素,若元素行高是行高均值的Nr倍,且大于阈值Tr,将该元素纵向等分为Nr个元素;
1.8)行对齐:扫描外接矩形矩阵中各行,通过将每行中左上顶点y坐标与该行所有元素的左上顶点y坐标最小值的差值大于阈值Th的各元素及与其同列的下方元素顺序下移实现外接矩形矩阵的行对齐;
1.9)“零元素”分割:“零元素”指外接矩形矩阵中,无外接矩形的空缺元素,即该元素对应的作物行外接矩形未被提取,“零元素”的左上、右下顶点图像坐标均为0;根据“零元素”所在行、列中其他非“零元素”的左上、右下顶点图像坐标和平均列宽确定“零元素”的左上、右下顶点图像坐标;扫描外接矩形矩阵各列,将当前列上第一个非“零元素”R1(n,j)的左上、右下顶点x坐标作为该列上所有“零元素”R0(z,j)的左上、右下顶点x坐标;对当前列“零元素”R0(z,j)所在第z行进行扫描,若第z行上存在非“零元素”R1(z,c),将该非“零元素”R1(z,c)左上、右下顶点y坐标分别作为该“零元素”R0(z,j)的左上、右下顶点y坐标;若第z行上无非“零元素”,且z=1,则将1及行高均值RowHAve+1作为该“零元素”的左上、右下顶点y坐标;若第z行上无非“零元素”且z>1,将与该“零元素”同列的上方相邻元素R1(z-1,j)的右下顶点y坐标+1、右下顶点y坐标+1+RowHAve作为该“零元素”的左上、右下顶点y坐标。
所述步骤1.2)中基于行扫描的作物行上下边界提取,实现方法如下:
2.1)设定行扫描宽度Width,将二值图像I横向切割成H=n÷Width个图像块,其中,第H个图像块大小为m行×nf列,nf=Width+(n mod Width),mod表示求余数,其余每个图像块大小为m行×Width列;
2.2)对各图像块第i行进行行扫描,i为1至m,统计第i行前景像素数RCount:
若i=1,则将RCount存入FRCount中,作为下一行扫描时的前一行前景像素数;若i>1,且FRCount等于0,RCount大于0,则设置作物行上边界标记FlagUp=1,将作物行上边界纵坐标i-1存入UpY;若i>1,且FRCount大于0,RCount等于0,UpFlag=1,则计算作物行上下边界距离Dud=i-UpY,若Dud大于阈值Tud,则将第UpY行所有像素点标识为作物行上边界点,第i行所有像素点标识为作物行下边界点,将UpFlag清零,将RCount存入FRCount中;进行下一行扫描;
2.3)重复步骤2.2),直至完成当前图像块的所有行的行扫描;
2.4)进行下一图像块的行扫描,直至完成所有图像块的行扫描。
所述步骤1.3)中基于列扫描的作物行左右边界及外接矩形矩阵提取,包括如下步骤:
3.1)列扫描:设定行扫描高度Height,将二值图像I纵向切割成V=m÷Height个图像块,其中,第V个图像块大小为mf行×n列,mf=Height+(m mod Height),其余每个图像块大小为Height行×n列;对每个图像块的第j列进行列扫描,j为1至n,统计第j列上前景像素数CCount;若j=1,则将CCount存入FCCount中,作为下一列扫描时的前一列前景像素数,重新执行步骤3.1);若j≤n,执行步骤3.2);若j>n,即当前图像块完成列扫描,跳转至步骤3.9);
3.2)作物行左边界提取:若当前列前景像素数大于0且当前列的前一列前景像素数为0,即Count>0且FCount=0,则当前列为作物行的左边界,执行步骤3.3);否则,跳转到步骤3.4);
3.3)作物行左上、左下参考顶点识别:从上往下扫描当前列,若当前列的当前像素为上边界像素,则该像素被标识为左上参考顶点,记录该像素图像坐标,并设置存在左上参考顶点标识LeftUFlag=1;若当前列的当前像素为下边界像素,则该像素被标识为左下参考顶点,记录该像素图像坐标,同时若LeftUFlag为1,则设置存在左上及左下参考顶点对标识LeftUDFlag=1,并将LeftUFlag清零;判断是否连续出现左上及左下参考顶点,即判断LeftUDFlag是否为1,若是,则该对左上、左下参考顶点对为有效的作物行外接矩形左参考顶点对,保存该对左上和左下参考顶点图像坐标,并将有效左参考顶点对数自增1,LeftUDFlag清零,设置前已有相邻的有效左边界标记LeftSFlag为1;完成当前列扫描后,跳转至步骤3.1);
3.4)有效配对作物行右边界提取:若当前列前景像素数等于0且当前列的前一列前景像素数大于0,即CCount=0且FCCount>0,则当前列为作物行的右边界,进一步判断当前右边界之前是否已有相邻的有效左边界,即LeftSFlag=1,且当前右边界与该前已有相邻的有效左边界距离Dlr是否大于阈值Tlr:若是,则当前右边界为有效配对右边界,作物行外接矩形列数自增1,跳转到步骤3.5);否则,跳转至步骤3.1);
3.5)作物行右上、右下参考顶点识别:从上往下扫描当前列,若当前列的当前像素为上边界像素,则该像素被标识为右上参考顶点,记录该像素图像坐标,并设置存在右上参考顶点标识RightUFlag=1;若当前列的当前像素为下边界像素,则该像素被标识为右下参考顶点,记录该像素图像坐标,若RightUFlag为1,则设置存在右上及右下参考顶点对标识RightUDFlag=1,并将RightUFlag清零;判断是否连续出现右上及右下参考顶点,即判断RightUDFlag是否为1,并判断LeftSFlag是否为1:若是,则该对右上、右下参考顶点对为有效的作物行外接矩形右参考顶点对,保存该对右上、右下参考顶点图像坐标,并将有效右参考顶点对数自增1,RightUDFlag清零,执行步骤3.6);否则,重新执行步骤3.5),直至完成当前列扫描后,将LeftSFlag清零,跳转至步骤3.7);
3.6)基于左右参考顶点对匹配的作物行外接矩形提取:对当前有效右参考顶点对,按序逐点扫描相邻左边界上有效左参考顶点对,若有效右上参考顶点与左上参考顶点y坐标差值绝对值Dlru小于阈值Tlru,则对应的有效右参考顶点对和有效左参考顶点对为有效的作物行外接矩形的4个参考顶点,分别以有效左上、右下参考顶点x坐标为外接矩形左上、右下顶点x坐标,以有效左上及右上参考顶点y坐标较大值、有效左下及右下参考顶点y坐标的较小值作为外接矩形左上、右下顶点y坐标,同时将有效左上、右下参考顶点x坐标存入LeftX及RightX,用作后续孤立参考顶点对外接矩形提取,外接矩形数自增1,分别设置匹配的左右参考顶点对已匹配标识LeftMFlag=1,RightMFlag=1,设置当前右边界已存在匹配右参考顶点对标识MatchFlag=1;跳转到步骤3.5);
3.7)孤立左参考顶点对外接矩形提取:判断当前右边界MatchFlag是否为1;若是,依次扫描与当前右边界匹配的左边界上左参考顶点对LeftMFlag是否为0;若是,则该左参考顶点对为孤立左参考顶点对,将左上参考顶点x,y坐标、已保存RightX和左下参考顶点y坐标分别作为外接矩形左上、右下顶点图像坐标,将该外接矩形按其左上顶点y坐标大小***当前外接矩形列中;执行步骤3.8);
3.8)孤立右参考顶点对外接矩形提取:依次扫描当前右边界上右参考顶点对的RightMFlag是否为0,若是,则该右参考顶点对为孤立右参考顶点对,将已保存的LeftX和右上参考顶点y坐标,右下参考顶点x,y坐标分别作为该外接矩形左上、右下顶点图像坐标,将该外接矩形按其左上顶点y坐标大小***当前列外接矩形列中;将该列最后一外接矩形右下顶点y坐标存入ColMaxY,求所有列ColMaxY最小值ImBloEndY,将当前扫描列前景像素数CCount存入FCCount,跳转至步骤3.1);
3.9)外接矩形矩阵存储:若当前图像块为当前图像第一块,将当前图像块外接矩形矩阵Mp存入整幅图像外接矩形矩阵Mt;否则,扫描Mp每一列,计算Mp当前列第一个非“零元素”左上顶点横坐标xp与Mt每列第一个非“零元素”左上顶点横坐标xt距离的绝对值Dpt:若xp<xt,且Dpt>Tpt,则在Mt当前列之前***一“零元素”构成的新列,将Mp当前列接在该新列的最后一个元素后面;若Dpt≤Tpt,则直接将Mp当前列接在Mt当前列的最后一个元素后面;若遍历Mt所有列后,上述条件均不满足,则在Mt最后一列后面***“零元素”构成的新列,将Mp当前列接在该新列的最后一个“零元素”后面;求Mt各列的最大元素个数MaxColNo,将所有元素个数少于MaxColNo的列在最后一个元素后面补“零元素”,直至该列元素个数为MaxColNo个为止,执行步骤3.10);
3.10)下一图像块起始行调整:以ImBloEndY为当前已处理图像块的终止行,去除左上顶点y坐标大于ImBloEndY的外接矩形;下一图像块的起始行为ImBloEndY+1,终止行为ImBloEndY+1+Height,跳转至步骤3.1),进行下一图像块的扫描,直至完成整幅图像的列扫描。
所述步骤1.5)中列欠分割元素分割,实现方法如下:扫描外接矩形矩阵各列,将其中列宽ColWid=xr(i,j)-xl(i,j)大于Tc倍ColWAve的元素R(i,j)(i、j分别为该元素所在外接矩形矩阵的行号、列号)右侧相邻元素开始到第一个“零元素”左侧相邻元素为止的所有元素顺序右移一个元素,并覆盖掉该“零元素”;若当前行无“零元素”,则将元素R(i,j)右侧相邻元素开始的所有元素均右移一位;在(i,j+1)处***一新元素,其左上顶点图像坐标为[xl(i,j)+round(ColWid÷Nc)+1,yu(i,j)],右下顶点图像坐标为[xr(i,j),yd(i,j)],其中,[xl(i,j),yu(i,j)]、[xr(i,j),yd(i,j)]分别为元素R(i,j)的左上、右下顶点图像坐标,Nc=(ColWid÷ColWAve);将元素R(i,j)右下顶点x坐标xr(i,j)修改为xl(i,j)+round(ColWid÷Nc)。
所述步骤1.6)中列对齐,实现方法如下:扫描外接矩形矩阵各列,求各列外接矩左上顶点x坐标最小值MinXCol;将当前列左上顶点x坐标与该最小值MinXCol的间距Dw大于阈值Tw的元素R(i,j)开始到其右侧第一个“零元素”左侧相邻元素为止的元素顺序右移一位,覆盖该“零元素”;若不存在“零元素”,则将R(i,j)及其右侧同属第i行的所有元素均顺序右移一位;将R(i,j)改为“零元素”。
所述步骤1.7)中行欠分割元素分割,实现方法如下:扫描外接矩形矩阵各行,将其中行高RowHei=yd(i,j)-yu(i,j)大于Tr倍RowHAve的元素R(i,j)下方相邻元素开始到第一个“零元素”上方相邻元素为止的所有元素顺序下移一个元素,并覆盖掉该“零元素”;若当前列无“零元素”,则将元素R(i,j)下方相邻元素开始的所有元素均下移一位;在(i+1,j)处***一新元素,其左上顶点图像坐标为[xl(i,j),yu(i,j)+round(RowHei÷Nr)+1],右下顶点图像坐标为[xr(i,j),yd(i,j)],其中,Nr=(RowHei÷RowHAve);将元素R(i,j)右下顶点y坐标yd(i,j)修改为yu(i,j)+round(RowHei÷Nr)。
所述步骤1.8)中行对齐,实现方法如下:扫描外接矩形矩阵各行,求各行外接矩左上顶点y坐标最小值MinYRow;将当前行左上顶点y坐标与该最小值MinYRow的间距Dh大于阈值Th的元素R(i,j)开始到其下方第一个“零元素”上方相邻元素为止的元素顺序下移一位,覆盖该“零元素”;若不存在“零元素”,则将R(i,j)及其下方同属第j列的所有元素均顺序下移一位;将R(i,j)改为“零元素”。
本发明具有的有益效果是:本发明通过设计一种无人机航拍图像大豆作物行分割方法实现无人机航拍图像中大豆作物行自动分割,为应用无人机航拍图像实现基于作物行颜色、面积、高度等指标的大豆育选种工作奠定了技术基础。
附图说明
图1是无人机航拍图像大豆作物行分割***组成示意图。
图2是无人机航拍图像大豆作物行分割方法流程图。
图3是基于列扫描的作物行左右边界及外接矩形提取方法流程图。
图4是外接矩形矩阵提取及处理原理示意图。
图5是无人机航拍图像大豆作物行分割实例。
图1中:1、无人机,2、彩色相机,3、大豆大田,4、计算机,5、无人机航拍图像大豆作物行分割软件。
具体实施方式
下面结合附图和实施例对本发明作进一步说明。
如图1示意了无人机航拍图像大豆作物行分割***的一个具体实施例。无人机1采用大疆的MATRICE 600PRO。彩色相机2采用SONYα6300。计算机4为S230u Twist笔记本电脑,内存8Gb,CPU为Intel Core [email protected],WIN 10操作***。彩色相机2中的存储卡通过存储卡接口接入计算机4。
无人机航拍图像大豆作物行分割的具体实现如下:
带彩色相机的无人机1在大豆大田3上空飞行;彩色相机2接收到大豆作物光学图像后,将其转换为电子图像;将彩色相机2中的大豆作物电子图像输入到计算机4中;计算机4中的无人机航拍图像大豆作物行分割软件5实现大豆作物行图像分割。
如图2所示,无人机航拍图像大豆作物行分割软件5中无人机航拍图像大豆作物行分割方法的具体实现如下:
1.1)图像分割:采用基于归一化绿红色差OTSU自动阈值图像分割算法对无人机航拍m行×n列(m为1920,n为2560)大豆作物图像S进行图像分割,获得二值图像I;
1.2)基于行扫描的作物行上下边界提取:将图像I横向分割成H个图像块;对每个图像块进行行扫描;根据相邻扫描行上前景像素数从零到非零、从非零到零的变化确定作物行上、下边界在图像I中的y坐标;
1.3)基于列扫描的作物行左右边界及外接矩形矩阵提取:将图像I纵向分割成V个图像块;对每个图像块进行列扫描;根据相邻扫描列上前景像素数从零到非零变化提取作物行左边界;提取作物行外接矩形的左上、左下参考顶点对;根据相邻扫描列上前景像素数从非零到零变化提取作物行右边界;提取作物行外接矩形的右上、右下参考顶点对;同时通过右、左参考顶点对间匹配提取相应作物行外接矩形的4个顶点;完成当前列扫描后,获得当前列上作物行外接矩形列,其中每个外接矩形为一个元素,每个元素存有该外接矩形左上、右下顶点对图像坐标;根据当前列上已有外接矩形的左上、右下顶点图像坐标提取当前列中未匹配的孤立左、右参考顶点对对应作物行外接矩形,按序***当前外接矩形列;完成当前图像块列扫描后,获得当前图像块作物行外接矩形矩阵存入当前图像作物行外接矩形矩阵中;根据当前图像块已处理行数调整下一图像块起始行,进行下一图像块列扫描,直至完成整副图像的列扫描;
1.4)元素行高及列宽最小值、均值计算:求外接矩形矩阵中,外接矩形行高(外接矩形上下边距离)及列宽(外接矩形左右边距离)的最小值,并求大于最小值的行高、列宽的均值RowHAve、ColWAve;
1.5)列欠分割元素分割:扫描外接矩形矩阵中各元素,若元素宽度是列宽均值的Nc倍,且大于阈值Tc(设为1.2),则将该元素横向等分为Nc个元素;
1.6)列对齐:扫描外接矩形矩阵中各列,通过将每列中左上顶点x坐标与该列所有元素的左上顶点x坐标最小值的差值大于阈值Tw(设为200)的各元素及与其同行的右侧元素顺序右移实现外接矩形矩阵的列对齐;
1.7)行欠分割元素分割:扫描外接矩形矩阵中各元素,若元素行高是行高均值的Nr倍,且大于阈值Tr(设为1.5),将该元素纵向等分为Nr个元素;
1.8)行对齐:扫描外接矩形矩阵中各行,通过将每行中左上顶点y坐标与该行所有元素的左上顶点y坐标最小值的差值大于阈值Th(设为40)的各元素及与其同列的下方元素顺序下移实现外接矩形矩阵的行对齐;
1.9)“零元素”分割:“零元素”指外接矩形矩阵中,无外接矩形的空缺元素,即该元素对应的作物行外接矩形未被提取,“零元素”的左上、右下顶点图像坐标均为0;根据“零元素”所在行、列中其他非“零元素”的左上、右下顶点图像坐标和平均列宽确定“零元素”的左上、右下顶点图像坐标;扫描外接矩形矩阵各列,将当前列上第一个非“零元素”R1(n,j)的左上、右下顶点x坐标作为该列上所有“零元素”R0(z,j)的左上、右下顶点x坐标;对当前列“零元素”R0(z,j)所在第z行进行扫描,若第z行上存在非“零元素”R1(z,c),将该非“零元素”R1(z,c)左上、右下顶点y坐标分别作为该“零元素”R0(z,j)的左上、右下顶点y坐标;若第z行上无非“零元素”,且z=1,则将1及行高均值RowHAve+1作为该“零元素”的左上、右下顶点y坐标;若第z行上无非“零元素”且z>1,将与该“零元素”同列的上方相邻元素R1(z-1,j)的右下顶点y坐标+1、右下顶点y坐标+1+RowHAve作为该“零元素”的左上、右下顶点y坐标。如图4中的R6、R13为“零元素”的分割结果示意。
所述步骤1.2)中基于行扫描的作物行上下边界提取,实现方法如下:
2.1)设定行扫描宽度Width(设为400),将二值图像I横向切割成H=n÷Width个图像块,其中,第H个图像块大小为m行×nf列,nf=Width+(n mod Width),mod表示求余数,其余每个图像块大小为m行×Width列;
2.2)对每个图像块的第i行进行行扫描,i为1至m,统计第i行上前景像素数RCount:
若i=1,则将RCount存入FRCount中,作为下一行扫描时的前一行前景像素数,进行下一行扫描;
若i>1,且FRCount等于0,RCount大于0,则设置作物行上边界标记FlagUp=1,将作物行上边界纵坐标i-1存入UpY,进行下一行扫描;
若i>1,且FRCount大于0,RCount等于0,UpFlag=1,则计算作物行上下边界距离Dud=i-UpY;若Dud大于阈值Tud(设为20),则将当前图像块的第UpY行上所有像素点标识为作物行上边界点,第i行上所有像素点标识为作物行下边界点,将UpFlag清零,将RCount存入FRCount中,进行下一行扫描;如图4中的水平线3-7、15、16所示,可正确提取作物行下边界,避免出现使用水平线1而无法实现作物行上、下边界提取的问题;如图4中的水平线11-12所示,为行间杂草Y1产生的虚假作物行上、下边界,由于其间距Dud小于阈值Tud,因此不会被误判为作物行上、下边界;
2.3)重复步骤2.2),直至完成当前图像块的所有行的行扫描;
2.4)进行下一图像块的行扫描,直至完成所有图像块的行扫描。
如图3所示,所述步骤1.3)中基于列扫描的作物行左右边界及外接矩形矩阵提取,包括如下步骤:
3.1)列扫描:设定行扫描高度Height(设为960),将二值图像I纵向切割成V=m÷Height个图像块,其中,第V个图像块大小为mf行×n列,mf=Height+(m mod Height),其余每个图像块大小为Height行×n列;对每个图像块的第j列进行列扫描,j为1至n,统计第j列上前景像素数CCount;若j=1,则将CCount存入FCCount中,作为下一列扫描时的前一列前景像素数,重新执行步骤3.1);若j≤n,执行步骤3.2);若j>n,即当前图像块完成列扫描,跳转至步骤3.9);
3.2)作物行左边界提取:若当前列前景像素数大于0且当前列的前一列前景像素数为0,即Count>0且FCount=0,则当前列为作物行的左边界,执行步骤3.3);否则,跳转到步骤3.4);
3.3)作物行左上、左下参考顶点识别:从上往下扫描当前列,若当前列的当前像素为上边界像素,则该像素被标识为左上参考顶点,记录该像素图像坐标,并设置存在左上参考顶点标识LeftUFlag=1;若当前列的当前像素为下边界像素,则该像素被标识为左下参考顶点,记录该像素图像坐标,同时若LeftUFlag为1,则设置存在左上及左下参考顶点对标识LeftUDFlag=1,并将LeftUFlag清零;判断是否连续出现左上及左下参考顶点,即判断LeftUDFlag是否为1,若是,则该对左上、左下参考顶点对为有效的作物行外接矩形左参考顶点对,保存该对左上和左下参考顶点图像坐标,并将有效左参考顶点对数自增1,LeftUDFlag清零,设置前已有相邻的有效左边界标记LeftSFlag为1;完成当前列扫描后,跳转至步骤3.1);
3.4)有效配对作物行右边界提取:若当前列前景像素数等于0且当前列的前一列前景像素数大于0,即CCount=0且FCCount>0,则当前列为作物行的右边界,进一步判断当前右边界之前是否已有相邻的有效左边界,即LeftSFlag=1,且当前右边界与该前已有相邻的有效左边界距离Dlr是否大于阈值Tlr(设为100):若是,则当前右边界为有效右边界,作物行外接矩形列数自增1,跳转到步骤3.5);否则,跳转至步骤3.1);如图4中的垂直线8-10、17所示,可正确提取作物行左、右边界,避免出现使用垂直线2而无法实现作物行左、右边界提取的问题;如图4中的垂直线13-14所示,为行间杂草Y2产生的虚假作物行左、右边界,由于其间距Dlr小于阈值Tlr,因此不会被误判为作物行左、右边界;
3.5)作物行右上、右下参考顶点识别:从上往下扫描当前列,若当前列的当前像素为上边界像素,则该像素被标识为右上参考顶点,记录该像素图像坐标,并设置存在右上参考顶点标识RightUFlag=1;若当前列的当前像素为下边界像素,则该像素被标识为右下参考顶点,记录该像素图像坐标,若RightUFlag为1,则设置存在右上及右下参考顶点对标识RightUDFlag=1,并将RightUFlag清零;判断是否连续出现右上及右下参考顶点,即判断RightUDFlag是否为1,并判断LeftSFlag是否为1:若是,则该对右上、右下参考顶点对为有效的作物行外接矩形右参考顶点对,保存该对右上、右下参考顶点图像坐标,并将有效右参考顶点对数自增1,RightUDFlag清零,执行步骤3.6);否则,重新执行步骤3.5),直至完成当前列扫描后,将LeftSFlag清零,跳转至步骤3.7);
3.6)基于左右参考顶点对匹配的作物行外接矩形提取:对当前有效右参考顶点对,按序逐点扫描相邻左边界上有效左参考顶点对,若有效右上参考顶点与有效左上参考顶点y坐标差值绝对值Dlru小于阈值Tlru(设为20),则对应的有效右参考顶点对和左参考顶点对为有效的作物行外接矩形的4个参考顶点,分别以有效左上、右下参考顶点x坐标为外接矩形左上、右下顶点x坐标,以有效左上及右上参考顶点y坐标较大值、有效左下及右下参考顶点y坐标的较小值作为外接矩形左上、右下顶点y坐标,同时将有效左上、右下参考顶点x坐标存入LeftX及RightX,用作后续孤立顶点对外接矩形提取,外接矩形数自增1,分别设置匹配的左右参考顶点对已匹配标识LeftMFlag=1,RightMFlag=1,设置当前右边界已存在匹配右顶点对标识MatchFlag=1;跳转到步骤3.5);如图4中的矩形R1所示,有效左上参考顶点A由上边界15和左边界17相交得到,有效左下参考顶点B由下边界5和左边界17相交得到,有效右上参考顶点C由上边界16和右边界10相交得到,有效右下参考顶点D由下边界6和右边界10相交得到;右上参考顶点C和左上参考顶点A的y坐标差值绝对值Dlr小于阈值Tlr,因此左上参考顶点对A、B是右上参考顶点对C、D匹配的左上参考顶点对,参考顶点A、D的x坐标为R1的左上、右下顶点x坐标,参考顶点C的y坐标、参考顶点B的y坐标为R1的左上、右下顶点y坐标;
3.7)孤立左参考顶点对外接矩形提取:判断当前右边界MatchFlag是否为1:若是,依次扫描与当前右边界匹配的左边界上左参考顶点对的LeftMFlag是否为0,若是,则该左顶点对为孤立左参考顶点对,将左上参考顶点x,y坐标、已保存的RightX和左下参考顶点y坐标分别作为外接矩形左上、右下顶点图像坐标,将该外接矩形按其左上顶点y坐标大小***当前外接矩形列中;执行步骤3.8);如图4中,参考顶点E、F为孤立左参考顶点对,R7R13(表示R7、R13在欠分割列分割前对应的大矩形)为该孤立左参考顶点对的外接矩形。
3.8)孤立右参考顶点对外接矩形提取:依次扫描当前右边界上右参考顶点对的RightMFlag是否为0,若是,则该右参考顶点对为孤立右参考顶点对,将已保存的LeftX和右上参考顶点y坐标,右下参考顶点x,y坐标分别作为该外接矩形左上、右下顶点图像坐标,将该外接矩形按其左上顶点y坐标大小***当前列外接矩形列中;将该列最后一外接矩形右下顶点y坐标存入ColMaxY,求所有列ColMaxY最小值ImBloEndY,将当前扫描列前景像素数CCount存入FCCount,跳转至步骤3.1);如图4中,参考顶点G、H为孤立右参考顶点对,R6R12(表示R6、R12在欠分割列分割前对应的大矩形)为该孤立右参考顶点对的外接矩形。
3.9)外接矩形矩阵存储:若当前图像块为当前图像第一块,将当前图像块外接矩形矩阵Mp存入整幅图像外接矩形矩阵Mt;否则,扫描Mp每一列,计算Mp当前列第一个非“零元素”左上顶点横坐标xp与Mt每列第一个非“零元素”左上顶点横坐标xt距离的绝对值Dpt:若xp<xt,且Dpt>Tpt(设为200),则在Mt当前列之前***一“零元素”构成的新列,将Mp当前列接在该新列的最后一个元素后面;若Dpt≤Tpt,则直接将Mp当前列接在Mt当前列的最后一个元素后面;若遍历Mt所有列后,上述条件均不满足,则在Mt最后一列后面***“零元素”构成的新列,将Mp当前列接在该新列的最后一个“零元素”后面;求Mt各列的最大元素个数MaxColNo,将所有元素个数少于MaxColNo的列在最后一个元素后面补“零元素”,直至该列元素个数为MaxColNo个为止,执行步骤3.10);
3.10)下一图像块起始行调整:以ImBloEndY为当前已处理图像块的终止行,去除左上顶点y坐标大于ImBloEndY的外接矩形;下一图像块的起始行为ImBloEndY+1,终止行为ImBloEndY+1+Height,跳转至步骤3.1),进行下一图像块的扫描,直至完成整幅图像的列扫描。
所述步骤1.5)中列欠分割元素分割,实现方法如下:扫描外接矩形矩阵各列,将其中列宽ColWid=xr(i,j)-xl(i,j)大于Tc倍ColWAve的元素R(i,j)(i、j分别为该元素所在外接矩形矩阵的行号、列号)右侧相邻元素开始到第一个“零元素”左侧相邻元素为止的所有元素顺序右移一个元素,并覆盖掉该“零元素”;若当前行无“零元素”,则将元素R(i,j)右侧相邻元素开始的所有元素均右移一位;在(i,j+1)处***一新元素,其左上顶点图像坐标为[xl(i,j)+round(ColWid÷Nc)+1,yu(i,j)],右下顶点图像坐标为[xr(i,j),yd(i,j)],其中,[xl(i,j),yu(i,j)]、[xr(i,j),yd(i,j)]分别为元素R(i,j)的左上、右下顶点图像坐标,Nc=(ColWid÷ColWAve);将元素R(i,j)右下顶点x坐标xr(i,j)修改为xl(i,j)+round(ColWid÷Nc)。如图4,由于行间杂草Y3的存在,导致R2-R7右边界,及R8-R13左边界的缺失,而R2和R8、R3R4和R9R10(分别表示R3和R4,R9和R10在欠分割行分割前对应的大矩形)、R5和R11、R6和R12、R7和R13为列欠分割元素分割后的结果示意。
所述步骤1.6)中列对齐,实现方法如下:扫描外接矩形矩阵各列,求各列外接矩左上顶点x坐标最小值MinXCol;将当前列左上顶点x坐标与该最小值MinXCol的间距Dw大于阈值Tw的元素R(i,j)开始到其右侧第一个“零元素”左侧相邻元素为止的元素顺序右移一位,覆盖该“零元素”;若不存在“零元素”,则将R(i,j)及其右侧同属第i行的所有元素均顺序右移一位;将R(i,j)改为“零元素”。如图4中的R14-R19,在列对齐前占了R8-R13所在列的位置,列对齐后,可实现正确地右移至右侧相邻列。
所述步骤1.7)中行欠分割元素分割,实现方法如下:扫描外接矩形矩阵各行,将其中行高RowHei=yd(i,j)-yu(i,j)大于Tr倍RowHAve的元素R(i,j)下方相邻元素开始到第一个“零元素”上方相邻元素为止的所有元素顺序下移一个元素,并覆盖掉该“零元素”;若当前列无“零元素”,则将元素R(i,j)下方相邻元素开始的所有元素均下移一位;在(i+1,j)处***一新元素,其左上顶点图像坐标为[xl(i,j),yu(i,j)+round(RowHei÷Nr)+1],右下顶点图像坐标为[xr(i,j),yd(i,j)],其中,Nr=(RowHei÷RowHAve);将元素R(i,j)右下顶点y坐标yd(i,j)修改为yu(i,j)+round(RowHei÷Nr)。如图4中的R3和R4、R9和R10,为行欠分割元素分割后的结果示意;
所述步骤1.8)中行对齐,实现方法如下:扫描外接矩形矩阵各行,求各行外接矩左上顶点y坐标最小值MinYRow;将当前行左上顶点y坐标与该最小值MinYRow的间距Dh大于阈值Th的元素R(i,j)开始到其下方第一个“零元素”上方相邻元素为止的元素顺序下移一位,覆盖该“零元素”;若不存在“零元素”,则将R(i,j)及其下方同属第j列的所有元素均顺序下移一位;将R(i,j)改为“零元素”。如图4中的R4-R5、R10-R12,行对齐后,可实现正确地下移了一行,R7可实现正确地下移了两行。
图5,左图为大豆作物无人机航拍图像,右图为应用本发明后得到的大豆作物行分割结果,可见,应用本发明可实现无人机航拍图像大豆作物行自动分割。
Claims (7)
1.一种无人机航拍图像大豆作物行分割方法,其特征在于,包括如下步骤:
1.1)图像分割:采用基于归一化绿红色差OTSU自动阈值图像分割算法对无人机航拍m行×n列大豆作物图像S进行图像分割,获得二值图像I;
1.2)基于行扫描的作物行上下边界提取:将图像I横向分割成H个图像块;对每个图像块进行行扫描;根据相邻扫描行上前景像素数从零到非零、从非零到零的变化确定作物行上、下边界在图像I中的y坐标;
1.3)基于列扫描的作物行左右边界及外接矩形矩阵提取:将图像I纵向分割成V个图像块;对每个图像块进行列扫描;根据相邻扫描列上前景像素数从零到非零变化提取作物行左边界;提取作物行外接矩形的左上、左下参考顶点对;根据相邻扫描列上前景像素数从非零到零变化提取作物行右边界;提取作物行外接矩形的右上、右下参考顶点对;同时通过右、左参考顶点对间匹配提取相应作物行外接矩形的4个顶点;完成当前列扫描后,获得当前列上作物行外接矩形列,其中每个外接矩形为一个元素,每个元素存有该外接矩形左上、右下顶点图像坐标;根据当前列上已有外接矩形的左上、右下顶点图像坐标提取当前列中未匹配的孤立左、右参考顶点对对应作物行外接矩形,按序***当前外接矩形列;完成当前图像块列扫描后,获得当前图像块作物行外接矩形矩阵存入当前图像作物行外接矩形矩阵中;根据当前图像块已处理行数调整下一图像块起始行,进行下一图像块列扫描,直至完成整副图像的列扫描;
1.4)元素行高及列宽最小值、均值计算:求外接矩形矩阵中,外接矩形行高(外接矩形上下边距离)及列宽(外接矩形左右边距离)的最小值,并求大于最小值的行高、列宽的均值RowHAve、ColWAve;
1.5)列欠分割元素分割:扫描外接矩形矩阵中各元素,若元素宽度是列宽均值的Nc倍,且大于阈值Tc,则将该元素横向等分为Nc个元素;
1.6)列对齐:扫描外接矩形矩阵中各列,通过将每列中左上顶点x坐标与该列所有元素的左上顶点x坐标最小值的差值大于阈值Tw的各元素及与其同行的右侧元素顺序右移实现外接矩形矩阵的列对齐;
1.7)行欠分割元素分割:扫描外接矩形矩阵中各元素,若元素行高是行高均值的Nr倍,且大于阈值Tr,将该元素纵向等分为Nr个元素;
1.8)行对齐:扫描外接矩形矩阵中各行,通过将每行中左上顶点y坐标与该行所有元素的左上顶点y坐标最小值的差值大于阈值Th的各元素及与其同列的下方元素顺序下移实现外接矩形矩阵的行对齐;
1.9)“零元素”分割:“零元素”指外接矩形矩阵中,无外接矩形的空缺元素,即该元素对应的作物行外接矩形未被提取,“零元素”的左上、右下顶点图像坐标均为0;根据“零元素”所在行、列中其他非“零元素”的左上、右下顶点图像坐标和平均列宽确定“零元素”的左上、右下顶点图像坐标;扫描外接矩形矩阵各列,将当前列上第一个非“零元素”R1(n,j)的左上、右下顶点x坐标作为该列上所有“零元素”R0(z,j)的左上、右下顶点x坐标;对当前列“零元素”R0(z,j)所在第z行进行扫描,若第z行上存在非“零元素”R1(z,c),将该非“零元素”R1(z,c)左上、右下顶点y坐标分别作为该“零元素”R0(z,j)的左上、右下顶点y坐标;若第z行上无非“零元素”,且z=1,则将1及行高均值RowHAve+1作为该“零元素”的左上、右下顶点y坐标;若第z行上无非“零元素”且z>1,将与该“零元素”同列的上方相邻元素R1(z-1,j)的右下顶点y坐标+1、右下顶点y坐标+1+RowHAve作为该“零元素”的左上、右下顶点y坐标。
2.如权利要求1所述的一种无人机航拍图像大豆作物行分割方法,其特征在于,所述的基于行扫描的作物行上下边界提取,实现方法如下:
2.1)设定行扫描宽度Width,将二值图像I横向切割成H=n÷Width个图像块,其中,第H个图像块大小为m行×nf列,nf=Width+(n mod Width),mod表示求余数,其余每个图像块大小为m行×Width列;
2.2)对各图像块第i行进行行扫描,i为1至m,统计第i行前景像素数RCount:
若i=1,则将RCount存入FRCount中,作为下一行扫描时的前一行前景像素数;若i>1,且FRCount等于0,RCount大于0,则设置作物行上边界标记FlagUp=1,将作物行上边界纵坐标i-1存入UpY;若i>1,且FRCount大于0,RCount等于0,UpFlag=1,则计算作物行上下边界距离Dud=i-UpY,若Dud大于阈值Tud,则将第UpY行所有像素点标识为作物行上边界点,第i行所有像素点标识为作物行下边界点,将UpFlag清零,将RCount存入FRCount中;进行下一行扫描;
2.3)重复步骤2.2),直至完成当前图像块的所有行的行扫描;
2.4)进行下一图像块的行扫描,直至完成所有图像块的行扫描。
3.如权利要求1所述的一种无人机航拍图像大豆作物行分割方法,其特征在于,所述的基于列扫描的作物行左右边界及外接矩形矩阵提取,包括如下步骤:
3.1)列扫描:设定行扫描高度Height,将二值图像I纵向切割成V=m÷Height个图像块,其中,第V个图像块大小为mf行×n列,mf=Height+(m mod Height),其余每个图像块大小为Height行×n列;对每个图像块的第j列进行列扫描,j为1至n,统计第j列上前景像素数CCount;若j=1,则将CCount存入FCCount中,作为下一列扫描时的前一列前景像素数,重新执行步骤3.1);若j≤n,执行步骤3.2);若j>n,即当前图像块完成列扫描,跳转至步骤3.9);
3.2)作物行左边界提取:若当前列前景像素数大于0且当前列的前一列前景像素数为0,即Count>0且FCount=0,则当前列为作物行的左边界,执行步骤3.3);否则,跳转到步骤3.4);
3.3)作物行左上、左下参考顶点识别:从上往下扫描当前列,若当前列的当前像素为上边界像素,则该像素被标识为左上参考顶点,记录该像素图像坐标,并设置存在左上参考顶点标识LeftUFlag=1;若当前列的当前像素为下边界像素,则该像素被标识为左下参考顶点,记录该像素图像坐标,同时若LeftUFlag为1,则设置存在左上及左下参考顶点对标识LeftUDFlag=1,并将LeftUFlag清零;判断是否连续出现左上及左下参考顶点,即判断LeftUDFlag是否为1,若是,则该对左上、左下参考顶点对为有效的作物行外接矩形左参考顶点对,保存该对左上和左下参考顶点图像坐标,并将有效左参考顶点对数自增1,LeftUDFlag清零,设置前已有相邻的有效左边界标记LeftSFlag为1;完成当前列扫描后,跳转至步骤3.1);
3.4)有效配对作物行右边界提取:若当前列前景像素数等于0且当前列的前一列前景像素数大于0,即CCount=0且FCCount>0,则当前列为作物行的右边界,进一步判断当前右边界之前是否已有相邻的有效左边界,即LeftSFlag=1,且当前右边界与该前已有相邻的有效左边界距离Dlr是否大于阈值Tlr:若是,则当前右边界为有效配对右边界,作物行外接矩形列数自增1,跳转到步骤3.5);否则,跳转至步骤3.1);
3.5)作物行右上、右下参考顶点识别:从上往下扫描当前列,若当前列的当前像素为上边界像素,则该像素被标识为右上参考顶点,记录该像素图像坐标,并设置存在右上参考顶点标识RightUFlag=1;若当前列的当前像素为下边界像素,则该像素被标识为右下参考顶点,记录该像素图像坐标,若RightUFlag为1,则设置存在右上及右下参考顶点对标识RightUDFlag=1,并将RightUFlag清零;判断是否连续出现右上及右下参考顶点,即判断RightUDFlag是否为1,并判断LeftSFlag是否为1:若是,则该对右上、右下参考顶点对为有效的作物行外接矩形右参考顶点对,保存该对右上、右下参考顶点图像坐标,并将有效右参考顶点对数自增1,RightUDFlag清零,执行步骤3.6);否则,重新执行步骤
3.5),直至完成当前列扫描后,将LeftSFlag清零,跳转至步骤3.7);
3.6)基于左右参考顶点对匹配的作物行外接矩形提取:对当前有效右参考顶点对,按序逐点扫描相邻左边界上有效左参考顶点对,若有效右上参考顶点与左上参考顶点y坐标差值绝对值Dlru小于阈值Tlru,则对应的有效右参考顶点对和有效左参考顶点对为有效的作物行外接矩形的4个参考顶点,分别以有效左上、右下参考顶点x坐标为外接矩形左上、右下顶点x坐标,以有效左上及右上参考顶点y坐标较大值、有效左下及右下参考顶点y坐标的较小值作为外接矩形左上、右下顶点y坐标,同时将有效左上、右下参考顶点x坐标存入LeftX及RightX,用作后续孤立参考顶点对外接矩形提取,外接矩形数自增1,分别设置匹配的左右参考顶点对已匹配标识LeftMFlag=1,RightMFlag=1,设置当前右边界已存在匹配右参考顶点对标识MatchFlag=1;跳转到步骤3.5);
3.7)孤立左参考顶点对外接矩形提取:判断当前右边界MatchFlag是否为1;若是,依次扫描与当前右边界匹配的左边界上左参考顶点对LeftMFlag是否为0;若是,则该左参考顶点对为孤立左参考顶点对,将左上参考顶点x,y坐标、已保存RightX和左下参考顶点y坐标分别作为外接矩形左上、右下顶点图像坐标,将该外接矩形按其左上顶点y坐标大小***当前外接矩形列中;执行步骤3.8);
3.8)孤立右参考顶点对外接矩形提取:依次扫描当前右边界上右参考顶点对的RightMFlag是否为0,若是,则该右参考顶点对为孤立右参考顶点对,将已保存的LeftX和右上参考顶点y坐标,右下参考顶点x,y坐标分别作为该外接矩形左上、右下顶点图像坐标,将该外接矩形按其左上顶点y坐标大小***当前列外接矩形列中;将该列最后一外接矩形右下顶点y坐标存入ColMaxY,求所有列ColMaxY最小值ImBloEndY,将当前扫描列前景像素数CCount存入FCCount,跳转至步骤3.1);
3.9)外接矩形矩阵存储:若当前图像块为当前图像第一块,将当前图像块外接矩形矩阵Mp存入整幅图像外接矩形矩阵Mt;否则,扫描Mp每一列,计算Mp当前列第一个非“零元素”左上顶点横坐标xp与Mt每列第一个非“零元素”左上顶点横坐标xt距离的绝对值Dpt:若xp<xt,且Dpt>Tpt,则在Mt当前列之前***一“零元素”构成的新列,将Mp当前列接在该新列的最后一个元素后面;若Dpt≤Tpt,则直接将Mp当前列接在Mt当前列的最后一个元素后面;若遍历Mt所有列后,上述条件均不满足,则在Mt最后一列后面***“零元素”构成的新列,将Mp当前列接在该新列的最后一个“零元素”后面;求Mt各列的最大元素个数MaxColNo,将所有元素个数少于MaxColNo的列在最后一个元素后面补“零元素”,直至该列元素个数为MaxColNo个为止,执行步骤3.10);
3.10)下一图像块起始行调整:以ImBloEndY为当前已处理图像块的终止行,去除左上顶点y坐标大于ImBloEndY的外接矩形;下一图像块的起始行为ImBloEndY+1,终止行为ImBloEndY+1+Height,跳转至步骤3.1),进行下一图像块的扫描,直至完成整幅图像的列扫描。
4.如权利要求1所述的一种无人机航拍图像大豆作物行分割方法,其特征在于,所述的列欠分割元素分割,实现方法如下:扫描外接矩形矩阵各列,将其中列宽ColWid=xr(i,j)-xl(i,j)大于Tc倍ColWAve的元素R(i,j)(i、j分别为该元素所在外接矩形矩阵的行号、列号)右侧相邻元素开始到第一个“零元素”左侧相邻元素为止的所有元素顺序右移一个元素,并覆盖掉该“零元素”;若当前行无“零元素”,则将元素R(i,j)右侧相邻元素开始的所有元素均右移一位;在(i,j+1)处***一新元素,其左上顶点图像坐标为[xl(i,j)+round(ColWid÷Nc)+1,yu(i,j)],右下顶点图像坐标为[xr(i,j),yd(i,j)],其中,[xl(i,j),yu(i,j)]、[xr(i,j),yd(i,j)]分别为元素R(i,j)的左上、右下顶点图像坐标,Nc=(ColWid÷ColWAve);将元素R(i,j)右下顶点x坐标xr(i,j)修改为xl(i,j)+round(ColWid÷Nc)。
5.如权利要求1所述的一种无人机航拍图像大豆作物行分割方法,其特征在于,所述的列对齐,实现方法如下:扫描外接矩形矩阵各列,求各列外接矩左上顶点x坐标最小值MinXCol;将当前列左上顶点x坐标与该最小值MinXCol的间距Dw大于阈值Tw的元素R(i,j)开始到其右侧第一个“零元素”左侧相邻元素为止的元素顺序右移一位,覆盖该“零元素”;若不存在“零元素”,则将R(i,j)及其右侧同属第i行的所有元素均顺序右移一位;将R(i,j)改为“零元素”。
6.如权利要求1所述的一种无人机航拍图像大豆作物行分割方法,其特征在于,所述的行欠分割元素分割,实现方法如下:扫描外接矩形矩阵各行,将其中行高RowHei=yd(i,j)-yu(i,j)大于Tr倍RowHAve的元素R(i,j)下方相邻元素开始到第一个“零元素”上方相邻元素为止的所有元素顺序下移一个元素,并覆盖掉该“零元素”;若当前列无“零元素”,则将元素R(i,j)下方相邻元素开始的所有元素均下移一位;在(i+1,j)处***一新元素,其左上顶点图像坐标为[xl(i,j),yu(i,j)+round(RowHei÷Nr)+1],右下顶点图像坐标为[xr(i,j),yd(i,j)],其中,Nr=(RowHei÷RowHAve);将元素R(i,j)右下顶点y坐标yd(i,j)修改为yu(i,j)+round(RowHei÷Nr)。
7.如权利要求1所述的一种无人机航拍图像大豆作物行分割方法,其特征在于,所述的行对齐,实现方法如下:扫描外接矩形矩阵各行,求各行外接矩左上顶点y坐标最小值MinYRow;将当前行左上顶点y坐标与该最小值MinYRow的间距Dh大于阈值Th的元素R(i,j)开始到其下方第一个“零元素”上方相邻元素为止的元素顺序下移一位,覆盖该“零元素”;若不存在“零元素”,则将R(i,j)及其下方同属第j列的所有元素均顺序下移一位;将R(i,j)改为“零元素”。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910039172.2A CN109859212B (zh) | 2019-01-16 | 2019-01-16 | 一种无人机航拍图像大豆作物行分割方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910039172.2A CN109859212B (zh) | 2019-01-16 | 2019-01-16 | 一种无人机航拍图像大豆作物行分割方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109859212A CN109859212A (zh) | 2019-06-07 |
CN109859212B true CN109859212B (zh) | 2020-12-04 |
Family
ID=66894850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910039172.2A Expired - Fee Related CN109859212B (zh) | 2019-01-16 | 2019-01-16 | 一种无人机航拍图像大豆作物行分割方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109859212B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110660075B (zh) * | 2019-09-20 | 2023-03-24 | 中国计量大学 | 一种无人机航拍图像粘连大豆作物行分割方法 |
CN113807129A (zh) * | 2020-06-12 | 2021-12-17 | 广州极飞科技股份有限公司 | 一种作物区域识别方法、装置、计算机设备和存储介质 |
CN112183448B (zh) * | 2020-10-15 | 2023-05-12 | 中国农业大学 | 一种基于三级分类和多尺度fcn的脱荚大豆图像分割方法 |
CN113505766B (zh) * | 2021-09-09 | 2022-01-04 | 北京智源人工智能研究院 | 图像目标检测方法、装置、电子设备及存储介质 |
CN114022534A (zh) * | 2021-10-22 | 2022-02-08 | 上海伯耶信息科技有限公司 | 一种烟叶纹理夹角提取方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107516068A (zh) * | 2017-07-26 | 2017-12-26 | 福州大学 | 一种从无人机高分辨率影像中提取单木树冠的方法 |
CN109087241A (zh) * | 2018-08-22 | 2018-12-25 | 东北农业大学 | 一种农业作物图像数据无损采集方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521596A (zh) * | 2011-12-09 | 2012-06-27 | 中国科学院长春光学精密机械与物理研究所 | 有限认知条件下农作物目标识别与分割的方法 |
CN103514459A (zh) * | 2013-10-11 | 2014-01-15 | 中国科学院合肥物质科学研究院 | 一种基于Android手机平台的识别农作物病虫害的方法及*** |
US9305214B1 (en) * | 2013-10-29 | 2016-04-05 | The United States Of America, As Represented By The Secretary Of The Navy | Systems and methods for real-time horizon detection in images |
CN104952070B (zh) * | 2015-06-05 | 2018-04-13 | 中北大学 | 一种类矩形引导的玉米田遥感图像分割方法 |
US10325351B2 (en) * | 2016-03-11 | 2019-06-18 | Qualcomm Technologies, Inc. | Systems and methods for normalizing an image |
CN107274418A (zh) * | 2017-07-07 | 2017-10-20 | 江苏省无线电科学研究所有限公司 | 一种基于ap聚类算法的作物图像分割方法 |
CN108416353B (zh) * | 2018-02-03 | 2022-12-02 | 华中农业大学 | 基于深度全卷积神经网络的大田稻穗快速分割方法 |
-
2019
- 2019-01-16 CN CN201910039172.2A patent/CN109859212B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107516068A (zh) * | 2017-07-26 | 2017-12-26 | 福州大学 | 一种从无人机高分辨率影像中提取单木树冠的方法 |
CN109087241A (zh) * | 2018-08-22 | 2018-12-25 | 东北农业大学 | 一种农业作物图像数据无损采集方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109859212A (zh) | 2019-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109859212B (zh) | 一种无人机航拍图像大豆作物行分割方法 | |
US11151723B2 (en) | Image segmentation method, apparatus, and fully convolutional network system | |
CN108470021B (zh) | Pdf文档中表格的定位方法及装置 | |
CN107590447B (zh) | 一种文字标题识别方法及装置 | |
CN107506701B (zh) | 一种基于视频识别技术的围棋自动记谱方法 | |
CN107609546B (zh) | 一种文字标题识别方法及装置 | |
US9454836B2 (en) | Object display device and object display method | |
EP2534638B1 (en) | Watermark detection using a propagation map | |
CN108352070B (zh) | 移动体追踪方法、移动体追踪装置以及程序 | |
CN109934886B (zh) | 图形的填充方法、装置及交互智能设备 | |
CN112183301B (zh) | 一种建筑物楼层智能识别方法及装置 | |
CN109145906B (zh) | 目标对象的图像确定方法、装置、设备及存储介质 | |
CN108830278A (zh) | 一种字符串图像识别方法 | |
CN110909694A (zh) | 获取分光器端口信息的方法、装置、终端以及存储介质 | |
CN111179291A (zh) | 一种基于邻域关系的边缘像素点提取方法及装置 | |
CN108121989A (zh) | 信息处理装置、存储介质及信息处理方法 | |
CN116229265A (zh) | 一种自动无损提取大豆植株表型的方法 | |
CN114998445A (zh) | 一种图像稀疏点立体匹配方法 | |
CN106356020B (zh) | Led显示屏显示控制方法及图像数据分割方法 | |
CN109447970A (zh) | 基于能量转移和均匀缩放的图像重定向方法 | |
CN111738310B (zh) | 物料分类方法、装置、电子设备和存储介质 | |
CN109255795B (zh) | 一种番茄植株边缘排序方法 | |
CN109919164B (zh) | 用户界面对象的识别方法及装置 | |
CN111985508B (zh) | 一种适用于线阵ccd的目标连通域形状分析方法 | |
CN110660075B (zh) | 一种无人机航拍图像粘连大豆作物行分割方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20201204 Termination date: 20220116 |
|
CF01 | Termination of patent right due to non-payment of annual fee |