CN111724354A - 一种基于图像处理的多株小麦穗长与小穗数的测量方法 - Google Patents
一种基于图像处理的多株小麦穗长与小穗数的测量方法 Download PDFInfo
- Publication number
- CN111724354A CN111724354A CN202010491646.XA CN202010491646A CN111724354A CN 111724354 A CN111724354 A CN 111724354A CN 202010491646 A CN202010491646 A CN 202010491646A CN 111724354 A CN111724354 A CN 111724354A
- Authority
- CN
- China
- Prior art keywords
- wheat
- point
- graph
- image
- calculating
- 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.)
- Granted
Links
- 241000209140 Triticum Species 0.000 title claims abstract description 166
- 235000021307 Triticum Nutrition 0.000 title claims abstract description 149
- 238000012545 processing Methods 0.000 title claims abstract description 52
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000012937 correction Methods 0.000 claims abstract description 16
- 239000013589 supplement Substances 0.000 claims description 28
- 210000005069 ears Anatomy 0.000 claims description 17
- 238000001514 detection method Methods 0.000 claims description 13
- 241000196324 Embryophyta Species 0.000 claims description 12
- 238000005286 illumination Methods 0.000 claims description 11
- 238000003491 array Methods 0.000 claims description 9
- 239000011159 matrix material Substances 0.000 claims description 9
- 230000009466 transformation Effects 0.000 claims description 9
- 238000001914 filtration Methods 0.000 claims description 8
- 238000005516 engineering process Methods 0.000 claims description 7
- 230000008859 change Effects 0.000 claims description 6
- 238000005260 corrosion Methods 0.000 claims description 6
- 230000000877 morphologic effect Effects 0.000 claims description 6
- 238000007781 pre-processing Methods 0.000 claims description 6
- 238000003709 image segmentation Methods 0.000 claims description 5
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 230000007797 corrosion Effects 0.000 claims description 3
- 238000004064 recycling Methods 0.000 claims description 3
- 238000012216 screening Methods 0.000 claims description 3
- 241000878006 Miscanthus sinensis Species 0.000 claims description 2
- 230000010339 dilation Effects 0.000 claims description 2
- 241001024327 Oenanthe <Aves> Species 0.000 abstract description 7
- 238000005259 measurement Methods 0.000 abstract description 7
- 230000000007 visual effect Effects 0.000 abstract description 2
- 241000495841 Oenanthe oenanthe Species 0.000 description 14
- 210000003128 head Anatomy 0.000 description 6
- 230000009191 jumping Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 238000009395 breeding Methods 0.000 description 2
- 230000001488 breeding effect Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000009418 agronomic effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 210000000887 face Anatomy 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/80—Geometric correction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/136—Segmentation; Edge detection involving thresholding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/187—Segmentation; Edge detection involving region growing; involving region merging; involving connected component labelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/66—Analysis of geometric attributes of image moments or centre of gravity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10024—Color image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30181—Earth observation
- G06T2207/30188—Vegetation; Agriculture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30242—Counting objects in image
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A40/00—Adaptation technologies in agriculture, forestry, livestock or agroalimentary production
- Y02A40/10—Adaptation technologies in agriculture, forestry, livestock or agroalimentary production in agriculture
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Geometry (AREA)
- Quality & Reliability (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Image Analysis (AREA)
Abstract
本发明提供了一种基于图像处理的多株小麦穗长与小穗数的测量方法,属于计算机图像处理技术领域。它解决了现有人工目测小穗数主要是靠人眼去观察计数等问题,一种基于图像处理的多株小麦穗长与小穗数的测量方法,其特征在于,包括如下步骤:S1、获取小麦图;S2、图像几何校正;S3、单株小麦分割;S4、切割出小麦穗长的有效区域;S5、计算穗长;S6、计算小麦小穗数,本发明具有节省了人力成本和设备成本,大幅的提高了工作效率等优点。
Description
技术领域
本发明属于计算机图像处理技术领域,特别涉及一种基于图像处理的多株小麦穗长与小穗数的测量方法。
背景技术
小麦穗长与小穗数能够快速、直接的反应小麦的产量,是麦穗形态中两个比较重要的两个参数,同时也是育种和新品种鉴定的重要指标,是小麦育种专家比较关心的重要农艺现状。
目前测量小麦穗长主要还是靠人工使用直尺人工定位麦穗的两个端点(颈节点和顶点)进行直接测量的方法,但是在测量过程中费时费力,带有个人主观性,重复性差,数字化程度低,容易产生较大的误差;而人工目测小穗数主要是靠人眼去观察计数,不仅工作量大,费神费力,十分消耗体力,效率低下,客观性和准确性差,受统计人员的主观影响较大。
发明内容
本发明的目的是针对现有技术中存在的上述问题,提供了一种基于图像处理的多株小麦穗长与小穗数的测量方法。
本发明的目的可通过下列技术方案来实现:一种基于图像处理的多株小麦穗长与小穗数的测量方法,其特征在于,包括如下步骤:
S1、获取小麦图,图像记录为jpg1;
S2、图像几何校正,获取S1处理结果图jpg1,依次对jpg1进行预处理、圆形检测,获得位置特征;利用透视变换对jpg1进行几何校正,几何校正后的图像记录为jpg2;
S3、单株小麦分割,获取S2的处理结果jpg2,对彩色图像jpg2进行光照补偿处理,使得图像的整体明暗分布均匀,利用大津法OTSU对图像进行二值化处理,利用图像分割技术将单株小麦从二值图中分割出来,记录为jpg3;
S4、切割出小麦穗长的有效区域,获取S3处理结果jpg3,统计jpg3中每一行的前景像素的个数,找到前景像素最多的行号:max_vec,以及前景像素的个数:N,然后从上往下寻找N/2个前景像素的行号,初步确定上面麦芒要切割的位置,初步确定的位置有个别穗不准确,再进行个别穗切割的位置的调整,然后正确的切割掉上面部分的麦芒,然后按照白线的位置在小麦的穗颈节的位置切割小麦,最后将小麦的两侧的麦芒去掉,将结果记录为jpg4;将小麦穗长的有效矩形区域记录为Rect4;
S5、计算穗长,获取S4的处理结果图jpg4,计算jpg4中的最小外接矩形的长宽,将长宽中数值大的作为小麦的穗长,再循环操作计算图jpg2中的所有小麦的穗长;
S6、计算小麦小穗数,获取S4的处理结果矩形区域Rect4,在图jpg2中切割单株的彩色小麦图,将小麦图进行二值化再进行两次的膨胀处理,找到小麦二值图中每行的中点位置,将小麦分成左右两部分,计算二值图中的连通域的个数与局部二值图中的连通域的个数,对连通域个数多的图中的每个连通域均计算最小外接矩形,再计算最小外接矩形的中点位置,将中点位置按照中线分成左右两部分,分别确定左右两边的四个初始点和两个步进距离,按照左上、左下、右上、右下进行打点,最后统计单株小麦的小穗数;在循环遍历所有的小麦,计算出所有的小麦的小穗数。
优选地,所述步骤S1包括:
S1.1、选取特定的背景板,并将小麦放入背景板;
S1.2、利用相机进行拍照取图,图像记录为jpg1,并将图像传递给下一步S2;
所述背景板的底色是黑色,所述背景板的四个角处分别分布有直径为2cm的白色圆,将小麦的穗颈节放在背景板的白线上,小麦的侧视图朝上,并且不超出白色圆的范围。
优选地,所述步骤S2包括:
S2.1、预处理,先对jpg1进行灰度化处理,再进行滤波去噪处理,处理后的结果图记录为img21;所述的灰度化转化公式如式(I)所示:
Gray(x,y)=0.299×R(x,y)+0.587×G(x,y)+0.114×B(x,y) (I);
S2.2、圆形检测,利用霍夫圆检测算法对图像进行圆形检测,筛选后,记录下四个白色圆的圆心位置;
S2.3、透视变化,分别获取S2.2处理的圆心位置特征,以及原图jpg1,利用透视变化对jpg1进行几何校正,其结果记录为jpg2,同时记录下校正后的圆心位置特征。
优选地,所述步骤S3包括:
S3.1、光照补偿,获取S2处理后的图jpg2,将彩色图jpg2输入光照补偿算法中,使得图像的整体亮度值分布均匀,将光照补偿之后的图记录为img31;
S3.2、分割出每一株小麦区域,获取S3.1处理后的结果图img31,利用大津法OTSU全局阈值化方法对图像进行二值化处理,再删除小面积连通域部分,保留只剩小麦的二值图,按照小麦的轮廓的位置将每一株小麦分割出来,将单株小麦记录为jpg3。
优选地,所述步骤S4包括:
S4.1、获取S3处理后的图jpg3,统计jpg3中每一行的前景像素的个数,找到前景像素最多的行号:max_vec,记录此行前景像素的个数:N,然后从上往下寻找N/2个前景像素的行号,初步确定上面麦芒要切割的位置,将位置记录为local_half;
S4.2、获取S4.1处理后的位置local_half,本身位置已经准确的就不移动,若切到正确位置处的上面,就将local_half往下移动;若切到正确位置处的下面,就将local_half往上移动;调整local_half位置之后在local_half位置将小麦上面部分的麦芒切割掉,将结果图记录为img42;
S4.3、获取S4.2处理后的图img42,在白线的位置将小麦从穗颈节的位置切割掉,只剩下小麦穗长的部分,将结果图记录为img43;
S4.4、获取S4.3处理后的图img43,首先通过对img43进行形态学闭运算,再进行两次形态学腐蚀运算与两次膨胀运算以弥补过腐蚀现象的方法去除img43中的两侧的麦芒,这步的结构元素为3×3值为1的二维矩阵,将结果记录为jpg4;将小麦穗长的有效矩形区域记录为Rect4,将图jpg4传递给下一步S5;将有效矩形区域Rect4传递给S6。
优选地,所述步骤S6包括:
S6.1、获取S4有效矩形区域Rect4,根据Rect4对图jpg2进行切割,切割出单株的彩色小麦图,将单株彩色小麦图记录为img61;
S6.2、获取S6.1处理后的图img61,对img61进行二值化,再进行两次的膨胀处理,找到小麦二值图中每行的中点位置,将所有的点保存在数组allPoint中;
S6.3、获取S6.1处理后的图img61,计算img61的二值图中的连通域的个数与局部二值图中的连通域的个数,对连通域个数多的图中的每个连通域均计算最小外接矩形,再计算每一个最小外接矩形的中点位置,将所有的中点位置保存在数组vecPoint中;
S6.4、获取S6.3处理后的数组vecPoint,将vecPoint中的点按照allPoint的位置将vecPoint的点分为左右两部分,将左边的点保存在数组vec_left_Point中,将右边的点保存在数组vec_right_Point中;
S6.5、获取S6.4处理后的数组vec_left_Point和vec_right_Point,计算左右数组两两点之间的距离,将距离保存在数组length_left_Point和length_right_Point中,将距离在28-59之间的值保存再计算平均值作为左右两边的步进距离,分别记录为:ave_left_first和ave_right_first,将vec_left_Point和vec_right_Point中中间位置的的点作为左右两边的初始点,四个点分别记录为:start_left_point_top、start_left_point_botton、start_right_point_top start_right_point_botton;
S6.6、获取S6.5处理后的四个初始点:start_left_point_top、start_left_point_botton、start_right_point_topstart_right_point_botton和左右两边的步进距离:ave_left_first和ave_right_first,分别对左上、左下、右上、右下打点,将点的位置分别保存在数组left_Point_supplement_up、left_Point_supplement_down、right_Point_supplement_up、right_Point_supplement_down中;
S6.7、获取S6.6中的左上、左下、右上、右下打的点的位置数组left_Point_supplement_up、left_Point_supplement_down、right_Point_supplement_up、right_Point_supplement_down,统计每个数组的点的个数,总的点数就表示单株小麦的小穗数;在循环遍历所有的小麦,计算出所有的小麦的小穗数。
与现有技术相比,本发明具有以下优点:
1、本发明将数字图像处理技术应用于农业领域的自动小麦穗长与小穗数测量,取代了人工测量和笨重的仪器分析,节省了人力成本和设备成本,大幅的提高了工作效率。
2、目前基于图像处理的小麦穗长与小穗数测量的设备十分庞大,价格昂贵,安装复杂,操作不方便,而且一次只能测量一株小麦穗长或者小穗数,功能单一,本发明只需要一个手机加一个特制的背景板就可以一次测量最多10株小麦穗长与小穗数两个参数,实现了小麦的穗长与小穗数同步测量,达到了准确度高,稳定性强,高效等优点。
3、本发明算法已经在android手机上进行了生产应用,手机携带和拍照的便携性,和背景板携带的便携性,提高了该方法的测量便携性;一次可以最多分析10株的小麦穗长与小穗数,一次处理10株只需要3秒。进一步提高了测量的效率。
4、本发明可以对小麦的穗长与小穗数进行便捷、高效、准确的测量。克服了传统的笨重、效率低、误差大、维护困难等问题。将图像处理技术更好的应用于农业信息化当中,为小麦穗长与小穗数的测量提供了有力的技术支持。
附图说明
图1是本发明的流程示意图;
图2是本发明的图像jpg1;
图3是本发明的图像jpg2;
图4是本发明的图像jpg3;
图5是本发明的图像jpg4;
图6是本发明的图像jpg5。
具体实施方式
以下是本发明的具体实施例并结合附图,对本发明的技术方案作进一步的描述,但本发明并不限于这些实施例。
如图1所示,本发明对多株小麦穗长与小穗数图像的处理主要分成六个模块。
第一个模块是图像获取模块,主要内容是图像获取方式;
第二个模块是图像几何校正模块,主要分为灰度化、滤波去噪、圆形检测、透视变换等方法;
第三个模块是小麦分割模块,主要是将彩色图像进行光照补偿处理之后,利用大津法OTSU对图像进行二值化,利用图像分割技术将单株小麦从二值图中分割出来;
第四模块是切割出小麦穗长有效区域模块,主要是先初步确定要切割的位置,然后调整个别穗切割不准的位置,再切割掉小麦上部分的麦芒,再按照穗颈节的位置切割小麦,最后去掉小麦两侧的麦芒;
第五模块是计算小麦穗长模块,主要是获取小麦穗长有效区域的最小外接矩形,将最小外接矩形的长宽中较大的值表示穗长,最后循环遍历就可以计算出所有的小麦的穗长;
第六模块是计算小麦小穗数模块,主要是:首先在jpg2图中切割出小麦的有效区域图,然后将小麦分成左右两部分,再计算二值图中的连通域个数与局部二值图中连通域的个数,然后统计麦穗的左边和右边的麦穗的个数,获取四个或者两个补偿初始点和步进距离,按照左上、右上、左下、右下四部分分别计算小穗数,最后统计单株小麦的小穗数,再循环遍历就可以计算出所有的小麦的小穗数。
下面对这六部分进行详细描述。
(一)获取小麦图像
获取小麦图像为模块S1,获取的图像记录为jpg1,其参见图2。
下面对获取小麦图像模块进行详细的描述:
S1.1、选取特定背景板,并将小麦按要求放入背景板;
(1)背景板要求:背景板底色是黑色,四角分布四个直径为2cm的白色圆;
(2)小麦摆放要求:小麦的穗颈节放在白线上,侧视图朝上,并且不要超出圆的范围;
S1.2、利用手机相机进行拍照取图,图像记录为jpg1,并将图像传递给下一步S2。
拍照要求:可以用Android手机进行拍照,像素大于800万最佳,取图时要将背景板的四个圆拍进去,并且不要超出背景板范围,照片要清晰,图像均为彩图。
(二)图像几何校正
模块S2为图像几何校正模块(又可以称为图形几何校正),获取S1处理结果图jpg1,然后按照图像预处理,圆形检测、透视变化等方法对图像进行处理,图像几何校正后的图像记录为jpg2,其参见图3。
下面对图像几何校正进行详细描述,如下:
S2.1、获取S1处理后的图jpg1,对其进行预处理,主要包括灰度化和滤波去噪处理,其处理后的结果图记录为img21;
(1)灰度化转化公式为:
Gray(x,y)=0.299×R(x,y)+0.587×G(x,y)+0.114×B(x,y) (I)
(2)滤波去噪;采用3×3的高斯滤波,滤波一次。
S2.2、获取S2.1处理后的图img21,利用霍夫圆检测算法对图像进行圆形检测,记录下圆心的位置;
(1)圆形检测:利用Hough圆检测算法对圆进行检测,检测时圆的半径大小控制在[44,57]像素范围内,圆心之间最小距离为600像素,这一步会检测出包括四周的四个圆之外的其他圆,需要进一步的筛选;
(2)圆形筛选:利用圆心到图像的四个角的距离,例如:左上角第一个圆心到左边界的距离是262个像素,到上边界个333像素,再一次的判断筛选圆,这样过滤之后就剩下我们需要的四个圆形。
S2.3、获取S2.2处理的圆心位置特征,获取原图jpg1,利用透视变化对jpg1进行几何校正,其结果记录为img23,同时记录下校正后的圆心位置特征;
(1)透视变换:透视变换是根据变换前图像中四个圆的圆心位置与变换后的四个圆的圆心的位置对应关系进行全图映射的,我们只需要给出原图中四个圆的圆心位置和变换后的四个点的位置,利用此方法就可以对整幅图进行几何校正。将校正后的图记录为jpg2,将图jpg2传递给下一步S3;
(2)原图中四个点的位置是四个圆的圆心的位置,变换后的四个点的位置是原图像四个圆心的外接矩形的四个顶点;
(三)单株小麦分割
单株小麦分割为模块S3,获取S2的处理结果jpg2,利用光照补偿算法调整图像的亮度的分布,利用大津法OTSU对图像进行二值化,利用图像分割技术将小麦图中的第一株单株小麦从二值图中分割出来,记录为jpg3,其参见图4。
小麦分割详细步骤如下:
S3.1、获取S2的处理结果jpg2,利用光照补偿算法对明暗不均的图jpg2进行亮度调整,其结果记录为img31;
其主要思路为:
(1)求取源图I的平均灰度,并记录rows和cols;
(2)按照一定大小,分为N×M个方块,求出每块的平均值,得到子块的亮度矩阵D;
(3)用矩阵D的每个元素减去源图的平均灰度,得到子块的亮度差值矩阵E;
(4)用双立方差值法,将矩阵E差值成与源图一样大小的亮度分布矩阵R;
(5)得到矫正后的图像result=I-R;
S3.2、获取S3.1处理后的图img31,利用大津法OTSU对图像进行二值化,利用图像分割技术将单株小麦从二值图中分割出来,将分割出来的小麦图记录为jpg3,将图jpg3传递给S4;
(1)大津法OTSU全局二值化:现在任意选取一个灰度值t,则可以将这个直方图分成前后两部分。我们称这两部分分别为A和B。对应的就是前景色和背景色。这两部分各自的平均值成为MA和MB。A部分里的像素数占总像素数的比例记作PA,B部分里的像素数占总像素数的比例记作PB。
那么otsu算法可以用下面的公式计算:
PA×PB×(PA×PB)2 (II)
(2)分割出每一株小麦二值图:提取出每一株小麦的外接矩形,然后切割出来;
(四)切割出小麦穗长的有效区域
切割出小麦穗长的有效区域为模块S4,获取S3的处理结果jpg3,首先是初步确定要切割的位置,然后调整个别穗切割不准的位置,再切割掉小麦上部分的麦芒,再按照白线的位置(也就是穗颈节的位置)切割小麦,最后去掉两侧得麦芒,记录为jpg4,其参见图5。
切割出小麦穗长的有效区域详细步骤如下:
S4.1、获取S3的处理结果jpg3,先切割掉小麦上部分的麦芒,其结果记录为img31;
其主要思路为:
(1)统计jpg3中每一行的前景像素的个数,保存在数组sta_count中,计算出数组sta_count元素最大值的位置max_vec;
(2)计算出数组sta_count元素最大值的一半:half_max=sta_count[max_vec]/2;
(3)在jpg3中从上往下寻找单行像素前景个数等于half_max的行号:local_half,这个位置就是要切割掉上部分麦芒的位置;
S4.2、获取S4.1的处理后的位置local_half,将切割的local_half位置不准的个别穗进行往上或者往下的调整,使其切割的位置准确,其结果记录为img42;
其主要思路为:
(1)在jpg3中,统计local_half行的连通的前景像素最大值:max_width,和local_half-5行最大值:max_width_up,如果max_width≥20&&max_width_up≥20就让local_half位置往上走,其他情况往下走;
(2)如果local_half位置需要往上走的话。就走到当前行的前景像素的个数≤10就停下,当前的位置local_half就是准确的切割位置;
(3)如果local_half位置需要往下走的话,首先统计local_half、local_half+5、local_half+10、local_half+15,四个位置的前景连通像素的最大值,并且都保存在数组down_line_start_maxwidth中,如果local_half位置的前景连通像素的最大值≥16就表示当前行已经是准确的行号,就不用再往下走;
(4)如果down_line_start_maxwidth[0]<16的话就将local_half位置往下走,直到当前行的前景连通像素的最大值大于两倍的down_line_start_maxwidth[0]的值就停下,当前的位置local_half就是准确的切割位置;
S4.3、获取S4.2的处理后的结果图img42,再按照白线的位置(也就是穗颈节的位置)切割小麦,其结果记录为img43;
其主要思路为:
(1)计算出jpg2中下面两个圆的圆心的位置,保存在数组:down_two_circle_center中;
(2)将圆心的坐标转化为单株小麦中白线的位置,计算公式为:down_two_circle_center[0].y-local_half-Diagonal[0].y,其中Diagonal[0]保存的是单株小麦的左上角的点的坐标;
S4.4、获取S4.3的处理后的结果图img43,然后去掉小麦的两侧的麦芒,其结果记录为jpg4;
其主要思路为:
首先通过对图img43进行形态学闭运算,再进行两次形态学腐蚀运算与两次膨胀运算以弥补过腐蚀现象的方法去除img43中的两侧的麦芒,这步的结构元素为3×3值为1的二维矩阵;
(五)计算小麦穗长
获取S4的处理结果图jpg4,计算jpg4中的最小外接矩形的长宽,将长宽中数值大的作为小麦的穗长,再循环操作计算图中的所有小麦的穗长;
(六)计算小麦小穗数
获取S4的处理结果矩形区域Rect4,在jpg2中切割单株的彩色小麦图,将小麦图先二值化再进行两次的膨胀处理,找到小麦二值图中每行的中点位置,将小麦分成左右两部分,计算二值图中的连通域的个数与局部二值图中的连通域的个数,将连通域个数多的图中的每个连通域计算最小外接矩形,再计算最小外接矩形的中点位置,将中点位置按照中线分成左右两部分,分别确定左右两边的四个初始点和两个步进距离,按照左上、左下、右上、右下进行打点,最后统计单株小麦的小穗数,然后循环遍历图片中所有的小麦计算出所有的小麦的小穗数,记录为jpg5,其参见图6;
计算小麦小穗数详细步骤如下:
S6.1、获取S4的处理结果矩形区域Rect4,在jpg2中切割出Rect4大小的小麦的原图,其结果记录为img61;
S6.2、获取S6.1处理的结果图img61,将img61按照小麦的中心位置,将小麦分成左右两部分,其结果记录为img62;
其主要思路为:
(1)将img61进行灰度化,再运用OTSU全局二值化方法将其二值化;
(2)对二值化的图以结构元素为3×3值为1的二维矩阵进行膨胀两次,然后对膨胀后的图计算每一行前景的中心位置,将每一行的中心位置坐标存储在数组allPoint中;
S6.3、获取S6.1处理的结果图img61,计算二值化图中的连通域的个数:mark_count,和局部二值化图中的连通域的个数:const_dis_count,比较这两个值的大小,将连通域多的二值图对里面的每一个轮廓都寻找最小外接矩形,获取每一个最小外接矩形的中心位置,将所有的中心位置存储在数组vecPoint中;
S6.4、按照allPoint的位置,将数组vecPoint中的点分成左右两部分,左边的点保存在数组vec_left_Point中,右边的点保存在数组vec_right_Point中;
S6.5、获取S6.4中的数组vec_left_Point和数组vec_right_Point,计算左右两个数组的两两点之间的距离,将距离分别存储在数组length_left_Point和数组length_right_Point中,将距离分为十个等级:
0-9,10-19,20-29,30-39,40-49,50-59,60-69,70-79,80-89,90-99,左右两边分别对应数组disRange_left(10)和disRange_right(10),将距离在某个等级范围内的分别存储在这两个数组中,分别统计disRange_left(10)和disRange_right(10)中范围在30-39、40-49、50-59之间的哪个数最多,再分别计算各个范围内的值的平均值,分别记为ave_left_first和ave_right_first,这两个值就表示左右两边的步进距离,再从数组vec_left_Point和数组vec_right_Point中各选择两个点作为左右两边的初始点;
其主要思路为:
(1)计算左右两边的两两点之间的距离,将距离分别存储在数组length_left_Point和数组length_right_Point中;
(2)将左右两边的两两之间的距离分为十个等级:
0-9,10-19,20-29,30-39,40-49,50-59,60-69,70-79,80-89,90-99,统计在各个范围内的的个数,然后找出30-39、40-49、50-59,这三个范围内的哪个数最多,取最多的一个范围内的数求平均值分别记录为ave_left_first和ave_right_first;
(3)在数组vec_left_Point和数组vec_right_Point中间的位置各取两个点作为初始点。
S6.6、获取S6.2的allPoint数组、获取S6.1的结果图img61和获取S6.5中的小麦的左右两边的步进距离ave_left_first和ave_right_first,还有左右两边的四个初始点:left_Point_supplement_up[0]、left_Point_supplement_down[0]、right_Point_supplement_down[0]、right_Point_supplement_up[0],麦穗的左上部分打点以left_Point_supplement_up[0]为初始点,以ave_left_first为步进距离往上打点,到达最后一个点y轴的坐标小于ave_left_first就跳出循环不再往上打,将左上打出的点的个数记为:count_left_up,麦穗的左下部分打点以left_Point_supplement_down[0]为初始点,以ave_left_first为步进距离往下打点,到达最后一个点y轴的坐标小于img61.rows-ave_left_first就跳出循环不再往下打,将左下打出的点个数记为:count_left_down,麦穗的右上部分打点以right_Point_supplement_up[0]为初始点,以ave_right_first为步进距离往上打点,到达最后一个点y轴的坐标小于ave_right_first就跳出循环不再往上打,将右上打出的点个数记为:count_right_up,麦穗的右下部分打点以right_Point_supplement_down[0]为初始点,以ave_right_first为步进距离往下打点,到达最后一个点y轴的坐标小于img61.rows-ave_right_first就跳出循环不再往下打,将右下打出的点个数记为:count_right_down;
其主要思路为:
(1)将img61进行OTSU二值化,结果图记录为img66;
(2)小麦左上打点,以left_Point_supplement_up[0]为初始点,以ave_left_first为步进距离往上打点,在img66图中以打的点为中心,取边长为10像素大小的矩形框:rect_media,将这个矩形框往左移动10个像素标记为:rect_left,将这个矩形框往右移动10个像素标记为:rect_right,比较rect_media、rect_left、rect_right这三个矩形框中前景面积的大小,假如rect_left矩形框前景面积最大,再将这个矩形框往上移动10个像素,标记为rect_up,将rect_left矩形框往下移动10个像素,标记为rect_down,再比较rect_left、rect_up、rect_down这三个矩形框前景面积的大小,假设rect_up面积最大,那么就将点打在矩形框rect_up的中心,将打出的点标记为Point2,再以Point2为基础点,以ave_left_first为步进距离往上打点,一直循环操作,直到最后一个点的y轴的坐标小于ave_right_first就跳出循环不再往上打,将左上打出的点的个数记为:count_left_up;
(3)小麦左下打点,以left_Point_supplement_down[0]为初始点,以ave_left_first为步进距离往下打点,按照类似(2)的操作打点,将左下打出的点个数记为:count_left_down;
(4)小麦右上打点,以right_Point_supplement_up[0]为初始点,以ave_right_first为步进距离往上打点,按照类似(2)的操作打点,将右上打出的点个数记为:count_right_up;
(5)小麦右下打点,以right_Point_supplement_down[0]为初始点,以ave_right_first为步进距离往下打点,按照类似(2)的操作打点,将右下打出的点个数记为:count_right_down;
S6.7、获取S6.6的的左上、左下、右上、右下打出的点数:count_left_up、count_left_down、count_right_up、count_right_down。单株小麦的小穗数:wheat_count=count_left_up+count_left_down+count_right_up+count_right_down,循环遍历照片中的所有的小麦,就可以获取所有的小麦的小穗数。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
尽管本文较多地使用了术语,但并不排除使用其它术语的可能性。使用这些术语仅仅是为了更方便地描述和解释本发明的本质;把它们解释成任何一种附加的限制都是与本发明精神相违背的。
Claims (6)
1.一种基于图像处理的多株小麦穗长与小穗数的测量方法,其特征在于,包括如下步骤:
S1、获取小麦图,图像记录为jpg1;
S2、图像几何校正,获取S1处理结果图jpg1,依次对jpg1进行预处理、圆形检测,获得位置特征;利用透视变换对jpg1进行几何校正,几何校正后的图像记录为jpg2;
S3、单株小麦分割,获取S2的处理结果jpg2,对彩色图像jpg2进行光照补偿处理,使得图像的整体明暗分布均匀,利用大津法OTSU对图像进行二值化,利用图像分割技术将单株小麦从二值图中分割出来,记录为jpg3;
S4、切割出小麦穗长的有效区域,获取S3处理结果jpg3,统计jpg3中每一行的前景像素的个数,找到前景像素最多的行号:max_vec,以及前景像素的个数:N,然后从上往下寻找N/2个前景像素的行号,初步确定上面麦芒要切割的位置,初步确定的位置有个别穗不准确,再进行个别穗切割的位置的调整,然后正确的切割掉上面部分的麦芒,再按照白线的位置在小麦的穗颈节的位置切割小麦,最后将小麦的两侧的麦芒去掉,将结果记录为jpg4;将小麦穗长的有效矩形区域记录为Rect4;
S5、计算穗长,获取S4的处理结果图jpg4,计算jpg4中的最小外接矩形的长宽,将长宽中数值大的作为小麦的穗长,再循环操作计算图jpg2中的所有小麦的穗长;
S6、计算小麦小穗数,获取S4的处理结果矩形区域Rect4,在图jpg2中切割单株的彩色小麦图,将小麦图进行二值化再进行两次的膨胀处理,找到小麦二值图中每行的中点位置,将小麦分成左右两部分,计算二值图中的连通域的个数与局部二值图中的连通域的个数,对连通域个数多的图中的每个连通域均计算最小外接矩形,再计算最小外接矩形的中点位置,将中点位置按照中线分成左右两部分,分别确定左右两边的四个初始点和两个步进距离,按照左上、左下、右上、右下进行打点,最后统计单株小麦的小穗数;在循环遍历所有的小麦,计算出所有的小麦的小穗数。
2.根据权利要求1所述的一种基于图像处理的多株小麦穗长与小穗数的测量方法,其特征在于,所述步骤S1包括:
S1.1、选取特定的背景板,并将小麦放入背景板;
S1.2、利用相机进行拍照取图,图像记录为jpg1,并将图像传递给下一步S2;
所述背景板的底色是黑色,所述背景板的四个角处分别分布有直径为2cm的白色圆,将小麦的穗颈节放在背景板的白线上,小麦的侧视图朝上,并且不超出白色圆的范围。
3.根据权利要求1所述的一种基于图像处理的多株小麦穗长与小穗数的测量方法,其特征在于,所述步骤S2包括:
S2.1、预处理,先对jpg1进行灰度化处理,再进行滤波去噪处理,处理后的结果图记录为img21;所述的灰度化转化公式如式(I)所示:
Gray(x,y)=0.299×R(x,y)+0.587×G(x,y)+0.114×B(x,y) (I);
S2.2、圆形检测,利用霍夫圆检测算法对图像进行圆形检测,筛选后,记录下四个白色圆的圆心位置;
S2.3、透视变化,分别获取S2.2处理的圆心位置特征,以及原图jpg1,利用透视变化对jpg1进行几何校正,其结果记录为jpg2,同时记录下校正后的圆心位置特征。
4.根据权利要求1所述的一种基于图像处理的多株小麦穗长与小穗数的测量方法,其特征在于,所述步骤S3包括:
S3.1、光照补偿,获取S2处理后的图jpg2,将彩色图jpg2输入光照补偿算法中,使得图像的整体亮度值分布均匀,将光照补偿之后的图记录为img31;
S3.2、分割出每一株小麦区域,获取S3.1处理后的结果图img31,利用大津法OTSU全局阈值化方法对图像进行二值化处理,再删除小面积连通域部分,保留只剩小麦的二值图,按照小麦的轮廓的位置将每一株小麦分割出来,将单株小麦记录为jpg3。
5.根据权利要求1所述的一种基于图像处理的多株小麦穗长与小穗数的测量方法,其特征在于,所述步骤S4包括:
S4.1、获取S3处理后的图jpg3,统计jpg3中每一行的前景像素的个数,找到前景像素最多的行号:max_vec,以及此行前景像素的个数:N,然后从上往下寻找N/2个前景像素的行号,初步确定上面麦芒要切割的位置,将位置记录为local_half;
S4.2、获取S4.1处理后的位置local_half,本身位置已经准确的就不移动,若切到位置正确处的位置上面,就将local_half往下移动;若切到位置正确处的位置的下面,就将local_half往上移动;调整local_half位置之后在local_half位置将小麦上面部分的麦芒切割掉,将结果图记录为img42;
S4.3、获取S4.2处理后的图img42,在白线的位置将小麦从穗颈节的位置切割掉,只剩下小麦穗长的部分,将结果图记录为img43;
S4.4、获取S4.3处理后的图img43,首先通过对img43进行形态学闭运算,再进行两次形态学腐蚀运算与两次膨胀运算以弥补过腐蚀现象的方法去除img43中的两侧的麦芒,这步的结构元素为3×3值为1的二维矩阵,将结果记录为jpg4;将小麦穗长的有效矩形区域记录为Rect4,将图jpg4传递给下一步S5;将有效矩形区域Rect4传递给S6。
6.根据权利要求1所述的一种基于图像处理的多株小麦穗长与小穗数的测量方法,其特征在于,所述步骤S6包括:
S6.1、获取S4有效矩形区域Rect4,根据Rect4对图jpg2进行切割,切割出单株的彩色小麦图,将单株彩色小麦图记录为img61;
S6.2、获取S6.1处理后的图img61,对img61进行二值化,在进行两次的膨胀处理,找到小麦二值图中每行的中点位置,将所有的点保存在数组allPoint中;
S6.3、获取S6.1处理后的图img61,计算img61的二值图中的连通域的个数与局部二值图中的连通域的个数,对连通域个数多的图中的每个连通域均计算最小外接矩形,再计算每一个最小外接矩形的中点位置,将所有的中点位置保存在数组vecPoint中;
S6.4、获取S6.3处理后的数组vecPoint,将vecPoint中的点按照allPoint的位置将vecPoint的点分为左右两部分,将左边的点保存在数组vec_left_Point中,将右边的点保存在数组vec_right_Point中;
S6.5、获取S6.4处理后的数组vec_left_Point和vec_right_Point,计算左右数组两两点之间的距离,将距离保存在数组length_left_Point和length_right_Point中,将距离在28-59之间的值保存再计算平均值作为左右两边的步进距离,分别记录为:ave_left_first和ave_right_first,将vec_left_Point和vec_right_Point中中间位置的的点作为左右两边的初始点,四个点分别记录为:start_left_point_top、start_left_point_botton、start_right_point_top start_right_point_botton;
S6.6、获取S6.5处理后的四个初始点:start_left_point_top、start_left_point_botton、start_right_point_topstart_right_point_botton和左右两边的步进距离:ave_left_first和ave_right_first,分别对左上、左下、右上、右下打点,将点的位置分别保存在数组left_Point_supplement_up、left_Point_supplement_down、right_Point_supplement_up、right_Point_supplement_down中;
S6.7、获取S6.6中的左上、左下、右上、右下打的点的位置数组left_Point_supplement_up、left_Point_supplement_down、right_Point_supplement_up、right_Point_supplement_down,统计每个数组的点的个数,总的点数就表示单株小麦的小穗数;在循环遍历所有的小麦,计算出所有的小麦的小穗数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010491646.XA CN111724354B (zh) | 2020-06-02 | 2020-06-02 | 一种基于图像处理的多株小麦穗长与小穗数的测量方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010491646.XA CN111724354B (zh) | 2020-06-02 | 2020-06-02 | 一种基于图像处理的多株小麦穗长与小穗数的测量方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111724354A true CN111724354A (zh) | 2020-09-29 |
CN111724354B CN111724354B (zh) | 2023-05-30 |
Family
ID=72565595
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010491646.XA Active CN111724354B (zh) | 2020-06-02 | 2020-06-02 | 一种基于图像处理的多株小麦穗长与小穗数的测量方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111724354B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115345880A (zh) * | 2022-10-18 | 2022-11-15 | 浙江托普云农科技股份有限公司 | 基于玉米果穗单侧扫描图的玉米果穗性状估测方法及装置 |
CN115375694A (zh) * | 2022-10-27 | 2022-11-22 | 浙江托普云农科技股份有限公司 | 便捷式的基于图像识别的水稻整穗测量方法及其应用 |
CN116188461A (zh) * | 2023-04-24 | 2023-05-30 | 深圳市欣冠精密技术有限公司 | 一种基于设计图智能识别的钣金加工*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101944231A (zh) * | 2010-08-19 | 2011-01-12 | 北京农业智能装备技术研究中心 | 小麦穗部形态参数提取方法 |
CN109684938A (zh) * | 2018-12-06 | 2019-04-26 | 广西大学 | 一种基于作物冠层航拍俯视图的甘蔗株数自动识别方法 |
MX2018002800A (es) * | 2018-02-21 | 2019-08-22 | Univ Autonoma De Sinaloa | Método para determinar tamaño y número de granos de trigo mediante análisis de imagen digital. |
CN110349200A (zh) * | 2019-07-01 | 2019-10-18 | 西京学院 | 一种基于单目相机的高精度麦穗长度测量方法 |
-
2020
- 2020-06-02 CN CN202010491646.XA patent/CN111724354B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101944231A (zh) * | 2010-08-19 | 2011-01-12 | 北京农业智能装备技术研究中心 | 小麦穗部形态参数提取方法 |
MX2018002800A (es) * | 2018-02-21 | 2019-08-22 | Univ Autonoma De Sinaloa | Método para determinar tamaño y número de granos de trigo mediante análisis de imagen digital. |
CN109684938A (zh) * | 2018-12-06 | 2019-04-26 | 广西大学 | 一种基于作物冠层航拍俯视图的甘蔗株数自动识别方法 |
CN110349200A (zh) * | 2019-07-01 | 2019-10-18 | 西京学院 | 一种基于单目相机的高精度麦穗长度测量方法 |
Non-Patent Citations (2)
Title |
---|
MIKHAIL A. GENAEV ET AL.: "Morphometry of the Wheat Spike by Analyzing 2D Images", 《AGRONOMY》 * |
路文超: "基于图像处理的小麦穗长和小穗数同步测量", 《中国农机化学报》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115345880A (zh) * | 2022-10-18 | 2022-11-15 | 浙江托普云农科技股份有限公司 | 基于玉米果穗单侧扫描图的玉米果穗性状估测方法及装置 |
CN115375694A (zh) * | 2022-10-27 | 2022-11-22 | 浙江托普云农科技股份有限公司 | 便捷式的基于图像识别的水稻整穗测量方法及其应用 |
CN116188461A (zh) * | 2023-04-24 | 2023-05-30 | 深圳市欣冠精密技术有限公司 | 一种基于设计图智能识别的钣金加工*** |
CN116188461B (zh) * | 2023-04-24 | 2023-06-27 | 深圳市欣冠精密技术有限公司 | 一种基于设计图智能识别的钣金加工*** |
Also Published As
Publication number | Publication date |
---|---|
CN111724354B (zh) | 2023-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11551341B2 (en) | Method and device for automatically drawing structural cracks and precisely measuring widths thereof | |
CN108764257B (zh) | 一种多视角的指针式仪表识别方法 | |
CN109443480B (zh) | 基于图像处理的水位标尺定位及水位测量方法 | |
CN109978839B (zh) | 晶圆低纹理缺陷的检测方法 | |
CN111950330B (zh) | 一种基于目标检测的指针式仪表示数检测方法 | |
CN111724354A (zh) | 一种基于图像处理的多株小麦穗长与小穗数的测量方法 | |
CN110263717B (zh) | 一种融入街景影像的土地利用类别确定方法 | |
CN112651968B (zh) | 一种基于深度信息的木板形变与凹坑检测方法 | |
CN109840889A (zh) | 基于仿生算法的高精度视觉测量方法、装置和*** | |
CN108491788A (zh) | 一种用于财务报表单元格的智能提取方法及装置 | |
CN102704215B (zh) | 基于dst文件解析与机器视觉结合的绣布自动切割方法 | |
CN105426844B (zh) | 一种答题卡识别方法 | |
CN110400278B (zh) | 一种图像颜色和几何畸变的全自动校正方法、装置及设备 | |
CN104700395A (zh) | 一种构造物外观裂缝检测方法及*** | |
CN108133471B (zh) | 一种基于人工蜂群算法的机器人导航路径提取方法及装置 | |
CN106033535A (zh) | 电子阅卷方法 | |
CN111624203B (zh) | 一种基于机器视觉的继电器接点齐度非接触式测量方法 | |
CN115170669A (zh) | 基于边缘特征点集配准的识别定位方法及***、存储介质 | |
CN113034474A (zh) | 一种oled显示器晶圆图的测试方法 | |
CN110334727B (zh) | 一种隧道裂缝智能匹配检测方法 | |
CN114549603B (zh) | 细胞病理图像的标注坐标转换方法、***、设备及介质 | |
CN112700488A (zh) | 基于图像拼接的活体长叶片叶面积分析方法、***及装置 | |
CN110619297A (zh) | 一种豆类植物子实图像批量采集识别方法及装置 | |
CN111738936A (zh) | 基于图像处理的多株水稻穗长的测量方法 | |
CN113657339A (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 |