当前位置: 首页 > 专利查询>西京学院专利>正文

一种基于OpenCV的红枣长径检测方法技术

技术编号:33962203 阅读:24 留言:0更新日期:2022-06-30 00:45
一种基于OpenCV的红枣长径检测方法,通过对OpenCV开源库最小外接矩形算法的组合和改进,结合Matplotlib绘图库,可有效的获取红枣长径的大小;首先将红枣置于传送带上,通过安装在传送带上方的工业相机采集红枣的图像;接着对采集的图像进行灰度化处理,然后经均值滤波、二值化处理后再求其每个轮廓的最小外接矩形的中心点以及4个顶点的坐标,使用Matplotlib绘图库绘制这些矩形的每条边,并求矩形每条边中的最大像素值,即为红枣长径像素尺寸值的大小;最后通过最小二乘法直线拟合的红枣长径的像素尺寸值与实测长径值的关系来确定红枣长径的大小;本发明专利技术可大幅度提高检测的效率及精度,进而实现红枣的精确分级。进而实现红枣的精确分级。进而实现红枣的精确分级。

【技术实现步骤摘要】
一种基于OpenCV的红枣长径检测方法


[0001]本专利技术涉及一种水果分拣检测方法,具体涉及一种基于OpenCV的红枣长径检测方法。

技术介绍

[0002]目前市面上的分拣红枣大多通过网状的斜坡或滚筒筛子,这种分拣方式只能对不同大小的红枣进行分拣,分拣的标准单一,且效率不高,浪费时间,更无法在分拣过程中对红枣进行精确分级。专利申请CN106423895A公开了一种红枣分级方法完成红枣图像采集后,构建红枣掩模图像包括利用阈值对图像进行二值化处理,然后进行形态学开运算和填充运算,去除目标中的噪声干扰,采用照度

反射模型,利用低通滤波获取R分量图像的亮度并且使用亮度分量对去除背景后的分量图像进行亮度校正,处理手段较复杂,残次品检测率不高。

技术实现思路

[0003]为了解决上述红枣分拣过程中精确分级的技术问题,本专利技术的目的在于提出一种基于OpenCV的红枣长径检测方法,采用机器视觉,使用OpenCV开源视觉库实时对红枣长径进行检测,可大幅度提高检测的效率及精度,进而实现红枣的精确分级。
[0004]为了实现上述目的,本专利技术采用的技术手段如下:
[0005]一种基于OpenCV的红枣长径检测方法,具体包括以下步骤:
[0006]步骤1获取红枣的图像B1,将该图像灰度化处理,得到图像B2;
[0007]步骤2对图像B2进行均值滤波处理,得到图像B3;
[0008]步骤3对图像B3进行二值化处理,得到图像B4;
[0009]步骤4求图像B4每个轮廓的最小外接矩形并绘制,得到图像B5;
[0010]步骤5求图像B5中矩形每条边中的最大像素值,即为红枣长径像素尺寸值的大小;
[0011]步骤6利用最小二乘法直线拟合步骤5的红枣长径的像素尺寸值与实测长径值的关系,来确定红枣长径的大小,获得拟合函数,通过拟合函数计算出红枣长径的大小。
[0012]所述步骤1中得到的图像B1、B2的具体步骤如下:
[0013]1.1)用工业相机采集红枣图像B1;
[0014]1.2)通过cvColor函数将图像B1转换为图像B2。
[0015]所述步骤2中得到的图像B3的方法为通过cv2.blur函数将图像B2转换为图像B3。
[0016]所述步骤3中得到图像B4的方法为通过cv2.threshold函数将图像B3转换为图像B4。
[0017]所述步骤4中得到图像B5的具体步骤如下:
[0018]4.1)通过cv2.minAreaRect函数计算每个轮廓最小外接矩形;
[0019]4.2)通过cvCircle函数绘制最小外接矩形的中心点;
[0020]4.3)通过cv2.boxPoints函数获取最小外接矩形的4个顶点坐标;
[0021]4.4)通过cv2.line函数绘制最小外接矩形的每条边。
[0022]所述步骤5中的得到红枣长径像素尺寸值的方法为通过cv2.minMaxLoc函数获取最小外接矩形每条边中的像素最大值,即为红枣长径的像素尺寸值。
[0023]所述步骤6中的得到红枣长径大小的具体步骤如下:
[0024]6.1)通过double函数和cvMat函数将步骤5中得到的像素值与红枣实测长径值组成的数组赋值于CvMat,并初始化多个不同直径的红枣得到的矩阵;
[0025]6.2)通过cvGEMM函数对步骤6.1)的初始化的矩阵进行广义乘法运算,使用cvInvert函数对广义乘法运算后得到的结果矩阵结果取逆;
[0026]6.3)通过cvmGet函数获取拟合函数:通过步骤6.2)取逆后的结果,与红枣真实的直径值进行拟合得到拟合函数即得到像素值与真实值的函数关系;
[0027]6.4)通过拟合函数计算出红枣的长径大小。
[0028]本专利技术采用以上技术方案,具有以下有益效果:
[0029]1、本专利技术方法采用机器视觉,使用OpenCV开源视觉库依次对获取红枣的图像进行灰度化、均值滤波处理、二值化预处理;通过最小外接矩形算法与Matplotlib绘图库的结合,绘制每一个红枣轮廓的最小外接矩形,能够显著提高对红枣图像的识别率。
[0030]2、通过最小二乘法直线拟合的红枣长径的像素尺寸值与实测长径值的关系来确定红枣长径的大小,获得拟合函数,通过拟合函数计算,提高了检测精确度,进而实现红枣的精确分级,检测效率高。
附图说明
[0031]图1为本专利技术的整体流程图。
[0032]图2为图1中图像B4得到图像B5的流程图。
[0033]图3为图1中通过图像B5求红枣长径的流程图。
具体实施方式
[0034]下面结合附图对本专利技术做进一步详细描述。
[0035]一种基于OpenCV的红枣长径检测方法,具体包括以下步骤:
[0036]1、用工业相机采集传送带上的红枣图像B1,通过cvColor函数将该图像灰度化处理得到图像B2;
[0037]2、通过cv2.blur函数对图像B2进行均值滤波处理得到图像B3;
[0038]3、通过cv2.threshold函数将图像B3进行二值化处理得到图像B4;
[0039]4、求图像B4每个轮廓的最小外接矩形并绘制得到图像B5,具体为:
[0040]4.1)通过cv2.minAreaRect函数计算每个轮廓最小外接矩形;
[0041]4.2)通过cvCircle函数绘制最小外接矩形的中心点;
[0042]4.3)通过cv2.boxPoints函数获取最小外接矩形的4个顶点坐标;
[0043]4.4)通过cv2.line函数绘制最小外接矩形的每条边;
[0044]5、通过cv2.minMaxLoc函数获取最小外接矩形每条边的最大像素值,即为红枣长径的像素尺寸值;
[0045]步骤6利用最小二乘法直线拟合步骤5的红枣长径的像素尺寸值与实测长径值的
关系,来确定红枣长径的大小,可获得拟合函数,通过拟合函数可计算出红枣长径的大小,进而根据红枣长径大小用于红枣检测分级,具体为:
[0046]6.1)通过double函数和cvMat函数,将步骤5中得到的像素值与红枣实测长径值组成的数组赋值于CvMat,并初始化多个不同直径的红枣得到的矩阵;
[0047]6.2)通过cvGEMM函数对步骤6.1)的初始化的矩阵进行广义乘法运算,使用cvInvert函数对广义乘法运算后得到的结果矩阵结果取逆;
[0048]6.3)通过cvmGet函数获取拟合函数:通过步骤6.2)取逆后的结果,与红枣真实的直径值进行拟合得到拟合函数即得到像素值与真实值的函数关系;
[0049]6.4)通过拟合函数计算出红枣的长径大小,用于之后红枣检测分级。
[0050]通过采集多张红枣图像进行实验,首先通过视觉设备采集到图像并对其进行灰度化处理,接着对采集的图像进行均值滤波、二值化处理,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于OpenCV的红枣长径检测方法,其特征在于:具体包括以下步骤:步骤1获取红枣的图像B1,将该图像灰度化处理,得到图像B2;步骤2对图像B2进行均值滤波处理,得到图像B3;步骤3对图像B3进行二值化处理,得到图像B4;步骤4求图像B4每个轮廓的最小外接矩形并绘制,得到图像B5;步骤5求图像B5中矩形每条边中的最大像素值,即为红枣长径像素尺寸值的大小;步骤6利用最小二乘法直线拟合步骤5的红枣长径的像素尺寸值与实测长径值的关系,来确定红枣长径的大小,获得拟合函数,通过拟合函数计算出红枣长径的大小。2.根据权利要求1所述的一种基于OpenCV的红枣长径检测方法,其特征在于:所述步骤1中得到的图像B1、B2的具体步骤如下:1.1)用工业相机采集红枣图像B1;1.2)通过cvColor函数将图像B1转换为图像B2。3.根据权利要求1所述的一种基于OpenCV的红枣长径检测方法,其特征在于:所述步骤2中得到的图像B3的方法为通过cv2.blur函数将图像B2转换为图像B3。4.根据权利要求1所述的一种基于OpenCV的红枣长径检测方法,其特征在于:所述步骤3中得到图像B4的方法为通过cv2.threshold函数将图像B3转换为图像B4。5.根据权利要求1所述的一种基于OpenCV的红枣长径检测方法,其特征在于:...

【专利技术属性】
技术研发人员:张宁张斯宇侯成阳殷新燕许超彭采
申请(专利权)人:西京学院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1