一种斑马鱼幼鱼年龄估计方法及系统

文档序号:1339283 发布日期:2020-07-17 浏览:9次 >En<

阅读说明:本技术 一种斑马鱼幼鱼年龄估计方法及系统 (Zebra fish juvenile fish age estimation method and system ) 是由 于兴虎 于 2020-02-21 设计创作,主要内容包括:本发明涉及一种斑马鱼幼鱼年龄估计方法及系统,包括:获取图像,进行灰度、二值化、闭运算处理;将斑马鱼幼鱼轮廓逆时针方向旋转θ得到新轮廓;从新轮廓左端取预设宽度值处的宽度,若预设宽度值处的宽度小于预设阈值,则幼鱼年龄大于3天;比较新轮廓左侧第一预设长值处与新轮廓右侧第一预设长度值处的宽度,若左侧宽度大于右侧宽度,则鱼头向左,否则,鱼头向右,翻转新轮廓图像;从新轮廓左取第一预设长度值第二预设长度值的两个位置,连接轮廓上下侧的点;计算轮廓上位于两个位置之间的点到两条连线的距离,标记向内距离最大的点,最终确定斑马鱼幼鱼的年龄。本发明中的上述方法能够准确确定斑马鱼幼鱼的年龄。(The invention relates to a zebra fish juvenile fish age estimation method and a zebra fish juvenile fish age estimation system, which comprise the following steps: acquiring an image, and performing gray scale, binarization and closed operation processing; rotating the outline of the zebra fish juvenile fish counterclockwise by theta to obtain a new outline; taking the width of a preset width value from the left end of the new contour, and if the width of the preset width value is smaller than a preset threshold value, determining that the age of the juvenile fish is larger than 3 days; comparing the width of the first preset length value on the left side of the new contour with the width of the first preset length value on the right side of the new contour, if the width of the left side is larger than the width of the right side, the fish head is leftwards, otherwise, the fish head is rightwards, and the new contour image is turned over; two positions of a first preset length value and a second preset length value are taken from the left of the new contour, and points on the upper side and the lower side of the contour are connected; and calculating the distance from a point between the two positions on the contour to the two connecting lines, marking the point with the largest inward distance, and finally determining the age of the zebra fish juvenile fish. The method can accurately determine the age of the juvenile zebra fish.)

一种斑马鱼幼鱼年龄估计方法及系统

技术领域

本发明涉及图像处理领域,特别是涉及一种斑马鱼幼鱼年龄估计方法及系统。

背景技术

斑马鱼目前已经成为最重要的有脊椎模式动物之一。它的优点包括繁殖能力极强,与人类基因相似度很高,生长速度快,从胚胎至幼鱼时期都为透明故便于观察其身体发育等特性。因此,斑马鱼在研究脊椎动物发育生物学方向具有极其重要的研究价值。

在斑马鱼幼鱼显微操作系统中,用一个移液管将斑马鱼幼鱼吸住是一种比较常见的固定方法,针对幼鱼在孵化后1到3天内的不同形态需要将吸持泵设定到不同的压强,不适当的压强可能造成吸持失败甚至对斑马鱼幼鱼造成损伤。因此在操作前自动估计斑马鱼幼鱼的年龄是必要的。

发明内容

本发明的目的是提供一种斑马鱼幼鱼年龄估计方法及系统,对斑马鱼幼鱼年龄进行准确估计。

为实现上述目的,本发明提供了如下方案:

一种斑马鱼幼鱼年龄估计方法,所述方法包括:

获取斑马鱼幼鱼图像;

对所述斑马鱼幼鱼图像进行灰度和二值化处理,得到二值化图像;

对所述二值化图像进行闭运算,得到新的二值化图像;

确定所述新的二值化图像中斑马鱼幼鱼的最大轮廓;

确定包围所述斑马鱼幼鱼的轮廓的最小矩形;

以顺时针为正,将水平方向与所述最小矩形长边的夹角作为斑马鱼幼鱼的倾角θ,将斑马鱼幼鱼轮廓逆时针方向旋转θ得到沿水平方向的新轮廓;

基于所述新轮廓,以所述最小矩形的长作为斑马鱼幼鱼的长L,以所述最小矩形的宽作为斑马鱼幼鱼的宽W;

从所述新轮廓左端取预设宽度值处的宽度,若所述预设宽度值处的宽度小于预设阈值,则判定幼鱼年龄大于3天,停止计算,否则幼鱼小于3天,转下一步骤;

比较所述新轮廓左侧第一预设长值处与所述新轮廓右侧第一预设长度值处的宽度,若左侧宽度大于右侧宽度,则鱼头向左,若左侧宽度小于右侧,则鱼头向右,此时左右翻转所述新轮廓图像,调整为鱼头向左;

从所述新轮廓左取第一预设长度值和第二预设长度值的两个位置,分别连接轮廓上侧与下侧的点;

计算轮廓上位于所述两个位置之间的点到两条连线的距离,并标记向内距离最大的点;

基于所述斑马幼鱼的宽度和所述向内距离确定斑马鱼幼鱼的年龄。

可选的,所述确定所述二值化图像中斑马鱼幼鱼的最大轮廓具体包括:

采用opencv的findContours()函数找到二值图像中所有白色部分的轮廓;

采用contourArea()函数计算每个轮廓的面积,得到面积最大的轮廓。

可选的,基于所述斑马幼鱼的宽度和所述向内距离确定斑马鱼幼鱼的年龄具体采用以下公式:

其中,f表示斑马幼鱼的宽度和所述向内距离最大的点之比。

可选的,所述预设宽度值为1.2W。

可选的,所述预设阈值为0.8W。

可选的,所述第一预设长值为所述第二预设长度值为

本发明另外提供一种斑马鱼幼鱼年龄估计系统,所述系统包括:

图像获取模块,用于获取斑马鱼幼鱼图像;

二值化模块,用于对所述斑马鱼幼鱼图像进行灰度和二值化处理,得到二值化图像;

闭运算模块,用于对所述二值化图像进行闭运算,得到新的二值化图像;

最大轮廓确定模块,用于确定所述新的二值化图像中斑马鱼幼鱼的最大轮廓;

最小矩形确定模块,用于确定包围所述斑马鱼幼鱼的轮廓的最小矩形;

旋转模块,用于以顺时针为正,将水平方向与所述最小矩形长边的夹角作为斑马鱼幼鱼的倾角θ,将斑马鱼幼鱼轮廓逆时针方向旋转θ得到沿水平方向的新轮廓;

宽度和长度确定模块,用于基于所述新轮廓,以所述最小矩形的长作为斑马鱼幼鱼的长L,以所述最小矩形的宽作为斑马鱼幼鱼的宽W;

第一年龄估计模块,用于从所述新轮廓左端取预设宽度值处的宽度,若所述预设宽度值处的宽度小于预设阈值,则判定幼鱼年龄大于3天,停止计算,否则幼鱼小于3天,转下一步骤;

比较模块,用于比较所述新轮廓左侧第一预设长值处与所述新轮廓右侧第一预设长度值处的宽度,若左侧宽度大于右侧宽度,则鱼头向左,若左侧宽度小于右侧,则鱼头向右,此时左右翻转所述新轮廓图像,调整为鱼头向左;

位置确定模块,用于从所述新轮廓左取第一预设长度值和第二预设长度值的两个位置,分别连接轮廓上侧与下侧的点;

向内距离最大点确定模块,用于计算轮廓上位于所述两个位置之间的点到两条连线的距离,并标记向内距离最大的点;

第二年龄估计模块,用于基于所述斑马幼鱼的宽度和所述向内距离确定斑马鱼幼鱼的年龄。

可选的,所述最大轮廓确定模块包括:

采用opencv的findContours()函数找到二值图像中所有白色部分的轮廓;

采用contourArea()函数计算每个轮廓的面积,得到面积最大的轮廓。

可选的,所述第二年龄估计模块具体采用以下公式:

其中,f表示斑马幼鱼的宽度和所述向内距离最大的点之比。

可选的,所述预设宽度值为1.2W。

根据本发明提供的具体实施例,本发明公开了以下技术效果:

本发明中的上述方法简便仅通过观察斑马鱼幼鱼在水中自然状态下的二维图像即可估计年龄,不需要复杂的操作,计算速度快,适合应用到斑马鱼幼鱼自动操作系统中而不影响其性能。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例一种斑马鱼幼鱼年龄估计方法流程图;

图2为本发明实施例二值化处理及闭运算处理后的轮廓;

图3为本发明实施例坐标变换后得到幼鱼长宽示意图;

图4为本发明实施例年龄小于3天的幼鱼左端1.2W处的宽度(竖线)示意图;

图5为本发明实施例年龄大于3天的幼鱼左端1.2W处的宽度(竖线)示意图;

图6为本发明实施例轮廓上侧与下侧的点示意图;

图7为本发明实施例一种斑马鱼幼鱼年龄估计系统结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的目的是提供一种斑马鱼幼鱼年龄估计方法及系统,对斑马鱼幼鱼年龄进行准确估计。

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

图1为本发明实施例一种斑马鱼幼鱼年龄估计方法流程图,如图1所示,所述方法包括:

步骤101:获取斑马鱼幼鱼图像。

具体是将斑马鱼幼鱼用麻醉剂麻醉后置于显微镜视野中,用相机采集RGB图像。

步骤:102:对所述斑马鱼幼鱼图像进行灰度和二值化处理,得到二值化图像。

步骤103:对所述二值化图像进行闭运算,得到新的二值化图像。

得到的新的二值化图像如图2所示。

步骤104:确定所述新的二值化图像中斑马鱼幼鱼的最大轮廓。

具体是,使用opencv的findContours()函数找到二值图像中所有白色部分的轮廓;

使用contourArea()函数计算上一步中找到的每个轮廓的面积,可以得到面积最大的轮廓。

步骤105:确定包围所述斑马鱼幼鱼的轮廓的最小矩形。

确定包围上述轮廓的最小矩形,将水平方向与该矩形长边的夹角θ(矩形长边在顺时针方向为正)作为斑马鱼幼鱼的倾角。将斑马鱼幼鱼轮廓逆时针方向旋转θ得到沿水平方向的新轮廓,即对轮廓上所有点(xi,yi)按如下计算得到对应新轮廓上的点(i=1,2,...,n,n为轮廓上点的总个数):

得到的新的轮廓如图3所示。

步骤106:以顺时针为正,将水平方向与所述最小矩形长边的夹角作为斑马鱼幼鱼的倾角θ,将斑马鱼幼鱼轮廓逆时针方向旋转θ得到沿水平方向的新轮廓。

步骤107:基于所述新轮廓,以所述最小矩形的长作为斑马鱼幼鱼的长L,以所述最小矩形的宽作为斑马鱼幼鱼的宽W。

步骤108:从所述新轮廓左端取预设宽度值处的宽度,若所述预设宽度值处的宽度小于预设阈值,则判定幼鱼年龄大于3天,停止计算,否则幼鱼小于3天,转下一步骤。

具体的,比较从轮廓左端取1.2W处的宽度,若该宽度小于0.8W,说明幼鱼年龄大于3天,不再处于平躺的姿态,不再进行后续计算。否则说明幼鱼小于3天,转下一步骤。如图4和图5所示,图4为年龄小于3天的幼鱼左端1.2W处的宽度(竖线),图5为年龄大于3天的幼鱼左端1.2W处的宽度(竖线)。

步骤109:比较所述新轮廓左侧第一预设长值处与所述新轮廓右侧第一预设长度值处的宽度,若左侧宽度大于右侧宽度,则鱼头向左,若左侧宽度小于右侧,则鱼头向右,此时左右翻转所述新轮廓图像,调整为鱼头向左。

具体的,比较轮廓左侧处与右侧处的宽度,判断鱼头方向。若左侧宽度大于右侧,说明鱼头向左;若左侧宽度小于右侧,说明鱼头向右,此时左右翻转图像,调整为鱼头向左。

步骤110:从所述新轮廓左取第一预设长度值和第二预设长度值的两个位置,分别连接轮廓上侧与下侧的点。

具体的,如图6所示,轮廓上介于AB之间的所有点到线段AB的距离(向内为正,向外为负)轮廓上介于CD之间的所有点到线段CD的距离(向内为正,向外为负),这样找到的距离最大的点可以认为是图中幼鱼腹侧凹进去最远的点(即点E)。后面取的是以点E所在竖线为分界的左半部分,

步骤111:计算轮廓上位于所述两个位置之间的点到两条连线的距离,并标记向内距离最大的点。

步骤112:基于所述斑马幼鱼的宽度和所述向内距离确定斑马鱼幼鱼的年龄。

其中,f表示斑马幼鱼的宽度和所述向内距离最大的点之比。

图7为本发明实施例一种斑马鱼幼鱼年龄估计系统结构示意图,如图7所示,所述系统包括:图像获取模块201、二值化模块202、闭运算模块203、最大轮廓确定模块204、最小矩形确定模块205、旋转模块206、宽度和长度确定模块207、第一年龄估计模块208、比较模块209、位置确定模块210、向内距离最大点确定模块211以及第二年龄估计模块212。

其中,图像获取模块201用于获取斑马鱼幼鱼图像;

二值化模块202用于对所述斑马鱼幼鱼图像进行灰度和二值化处理,得到二值化图像;

闭运算模块203用于对所述二值化图像进行闭运算,得到新的二值化图像;

最大轮廓确定模块204用于确定所述新的二值化图像中斑马鱼幼鱼的最大轮廓;

最小矩形确定模块205用于确定包围所述斑马鱼幼鱼的轮廓的最小矩形;

旋转模块206用于以顺时针为正,将水平方向与所述最小矩形长边的夹角作为斑马鱼幼鱼的倾角θ,将斑马鱼幼鱼轮廓逆时针方向旋转θ得到沿水平方向的新轮廓;

宽度和长度确定模块207用于基于所述新轮廓,以所述最小矩形的长作为斑马鱼幼鱼的长L,以所述最小矩形的宽作为斑马鱼幼鱼的宽W;

第一年龄估计模块208用于从所述新轮廓左端取预设宽度值处的宽度,若所述预设宽度值处的宽度小于预设阈值,则判定幼鱼年龄大于3天,停止计算,否则幼鱼小于3天,转下一步骤;

比较模块209用于比较所述新轮廓左侧第一预设长值处与所述新轮廓右侧第一预设长度值处的宽度,若左侧宽度大于右侧宽度,则鱼头向左,若左侧宽度小于右侧,则鱼头向右,此时左右翻转所述新轮廓图像,调整为鱼头向左;

位置确定模块210用于从所述新轮廓左取第一预设长度值和第二预设长度值的两个位置,分别连接轮廓上侧与下侧的点;

向内距离最大点确定模块211用于计算轮廓上位于所述两个位置之间的点到两条连线的距离,并标记向内距离最大的点;

第二年龄估计模块212用于基于所述斑马幼鱼的宽度和所述向内距离确定斑马鱼幼鱼的年龄。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

11页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于三维点云的物料堆自动提取和体积测量方法及系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!