一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于图像处理的乌鳢卵子计数方法与流程

2021-12-03 23:29:00 来源:中国专利 TAG:


1.本发明涉及图像处理与水产养殖交叉领域,尤其是涉及一种基于图像处理的乌鳢卵子计数方法。


背景技术:

2.乌鳢个体大、生长快,而且营养丰富,比鸡肉、牛肉所含的蛋白质高。作为药用具有去瘀生新,滋补调养等功效,因此养殖乌鳢具有较高的经济价值。乌鳢多栖息在湖泊、池沼、江河中水不流畅而混浊的泥底处,它们的产卵场也往往在这一类场所。对产卵时间、产卵量的估计则有利于后期的人工养殖。
3.乌鳢卵子常规计数方法有四种。最原始的是直接点数,但比较费时间,特别是工厂化育苗数量大,逐个点数是不可能的。也可用面积法、容积法或称量法。由于乌鳢的卵属飘浮性卵,产出的卵未经扰散,排列整齐紧密集中,并浮于水表层,可采用面积计数法。所谓面积计数法,先取一个单位面积的卵子,数出卵子数,然后测出每一窝的面积便可知每窝的卵子数量。容积法,先用一个标准容器,装满受精卵,然后数出这一容积中的卵子个数。以后用这标准容器去量出杯数,就可算出卵子总数。
4.总体而言,传统乌鳢卵子计数方法存在两个主要问题,其一是传统计数方法除人工直接点数外,面积法、容积法、称量法均是接触式计数方法,需要捞取卵子,破坏原有环境;其二是这些方法由于采用的是估算面积、容积或者重量,再做均分的方式,必定由于个体之间差异存在一定的误差,难以消除。


技术实现要素:

5.发明目的:为了克服背景技术的不足,本发明公开了一种基于图像处理的乌鳢卵子计数方法,在非接触前提下完成卵子计数任务,精度高而且不会对卵子原有生存环境产生变化。
6.技术方案:本发明的基于图像处理的乌鳢卵子计数方法,包括以下步骤:
7.s1、对需要计数的乌鳢卵子目标进行图像采集,并传入计算机;
8.s2、对采集的图像进行灰度化处理;
9.s3、采用top

hat变换算法进行图像增强,首先设计圆形结构元素,对图像做开运算,并用原始图像减去开运算所得图像,实现增强效果;
10.s4、采用引导滤波方法进行图像滤波处理;
11.s5、图像分割
12.s5.1使用sobel边缘算子对图像进行水平和垂直方向的滤波,然后求取模值,获取梯度图像;
13.s5.2把梯度图像中的所有像素按照灰度值进行分类,并设定一个测地距离阈值;
14.s5.3找到灰度值最小的像素点为起始点,让threshold从起始点开始增长;
15.s5.4水平面在增长的过程中,会碰到周围的邻域像素,测量这些像素到起始点的
测地距离,如果小于设定阈值,则将这些像素淹没,否则在这些像素上设置大坝,如此对邻域像素进行分类;
16.s5.5随着水平面增高,设置更多更高的大坝,直到灰度值的最大值,所有区域都在分水岭线上相遇,所有大坝即对整个图像像素进行分区;
17.s6、卵子识别与计数
18.s6.1用半径为2大小的圆形结构元素腐蚀分割结果中的目标区域,分割后的区域之间的距离变大,避免影响邻近目标区域相互影响;
19.s6.2调用open cv库中find contours()函数提取颗粒分割结果中每个区域的轮廓;
20.s6.3依次遍历每个区域轮廓,并用min enclosing circle()函数求取能够包围的区域外轮廓点集的最小外接圆,圆的半径r和圆心(a,b),该圆心可近似为颗粒中心点;
21.s6.4由于s6.1对目标进行腐蚀,将求取的外接圆的半径增加2,将圆心为(a,b)、半径为r 2的圆画于原图;
22.s6.5统计所有圆的面积,为a1,a2…
a
n
,得到面积中间值大小为s_median,将面积大于或者小于0.2*s_median的圆删除,这些圆因为面积过大或过小,不应计入卵子数量。然后计数保留下来的圆,其数量即为最终的卵子数量。
23.其中,s1中采集的图像中单个卵子目标有效像素点个数不低于20*20。
24.进一步的,s2中灰度处理时:
25.gray=0.299r 0.587g 0.114b
26.其中,r,g,b分别是采集彩色图像的红、绿、蓝通道。
27.进一步的,s3具体包括以下步骤:
28.s3.1设计圆形结构元素b;
29.s3.2利用结构元素b对原图像做灰度腐蚀和膨胀操作;
30.腐蚀过程为将灰度图像f(x,y)内各像素点与结构元素b(x,y)中的点对应相减,腐蚀结果为其最小值:
[0031][0032]
膨胀过程为腐蚀过程对偶运算,将灰度图像f(x,y)内各像素点与结构元素b(x,y)中的点对应相加,腐蚀结果为其最大值:
[0033][0034]
经过对图像先腐蚀后膨胀运算后,即完成开运算,得到的运算结果图f
open

[0035]
s3.3原始图像减去开运算所得结果:
[0036]
f
top

hat
=f(x,y)

f
open

[0037]
进一步的,s4中引导滤波假设引导图像和输出图像之间存在局部线性关系,如下式所示:
[0038][0039]
其中,i为引导图像,q为滤波后输出结果,w
k
为像素点k为中心的正方形窗口,a
k
、b
k
为窗口中的常系数,其取值如下:
[0040][0041][0042]
其中,μ
k
和为引导图像i在窗口w
k
中的均值和方差,|w|是窗口w
k
中的像素点总数,是输入图像p在窗口w
k
中像素点的平均值。
[0043]
有益效果:本发明通过对乌鳢卵子通过直接成像,获取乌鳢卵子图片,经过本发明提出的处理流程,在非接触前提下完成卵子计数任务,精度高而且不会对卵子原有生存环境产生变化。
附图说明
[0044]
图1为本发明的流程图。
具体实施方式
[0045]
下面结合附图和实施例对本发明的技术方案作进一步的说明。
[0046]
计算机读取高光谱遥感图像数据和配准好的高分辨率图像数据,首先基于非负矩阵分解建立初步的目标函数,然后在此基础上添加光谱约束项,得到最终的融合模型,对此融合模型求极值函数得到标准图像和权值矩阵,用高分辨率图像乘以标准图像与高分辨率图像加权后的图像,所得结果即为所求的高光谱融合图像。
[0047]
如图1所示的基于图像处理的乌鳢卵子计数方法,计算机配置采用:intel dual

core处理器,主频1.6ghz,内存2gb,操作系统为windows vista home basic,编程环境为matlab7.1。该方法包括以下步骤:
[0048]
s1:图像采集
[0049]
采用搭载高清摄像头的图像采集系统,对需要计数的乌鳢卵子目标进行图像采集,并将相关图像传入计算机,图像中单个卵子目标有效像素点个数不低于20*20。
[0050]
s2:灰度化处理
[0051]
将彩色图像转换为灰度图像,便于后续处理。
[0052]
gray=0.299r 0.587g 0.114b
[0053]
其中,r,g,b分别是采集彩色图像的红、绿、蓝通道。
[0054]
s3:图像增强预处理
[0055]
采用top

hat变换算法解决图像光照强度不一致问题,首先设计圆形结构元素,对图像做开运算,并用原始图像减去开运算所得图像,实现增强效果。
[0056]
s3.1设计圆形结构元素b:
[0057]
设计半径为5的圆形结构元素b如下:
[0058][0059]
s3.2利用结构元素b对原图像做灰度腐蚀和膨胀操作:
[0060]
腐蚀过程是将灰度图像f(x,y)内各像素点与结构元素b(x,y)中的点对应相减,腐蚀结果为其最小值:
[0061][0062]
膨胀过程为腐蚀过程对偶运算,将灰度图像f(x,y)内各像素点与结构元素b(x,y)中的点对应相加,腐蚀结果为其最大值:
[0063][0064]
经过对图像先腐蚀后膨胀运算后,即完成开运算。得到的运算结果图f
open
整体亮度相对均匀。
[0065]
s3.3原始图像减去开运算所得结果
[0066]
f
top

hat
=f(x,y)

f
open
[0067]
原始图像减去开运算结果,可以得到top

hat计算结果。
[0068]
s4:图像滤波
[0069]
采用引导滤波方法,对s3所得增强图像进行滤波处理,消除噪声,获得边缘纹理较为清晰的图像。引导滤波假设引导图像和输出图像之间存在局部线性关系,如下式所示:
[0070][0071]
这里,i为引导图像,q为滤波后输出结果。w
k
为像素点k为中心的正方形窗口,(a
k
,b
k
)为窗口中的常系数,其取值如下:
[0072][0073][0074]
μ
k
和为引导图像i在窗口w
k
中的均值和方差,|w|是窗口w
k
中的像素点总数,是输入图像p在窗口w
k
中像素点的平均值。
[0075]
s5:图像分割
[0076]
s5.1使用sobel边缘算子对图像进行水平和垂直方向的滤波,然后求取模值,获取
梯度图像,sobel算子滤波后的图像在边界处会显示比较大的值,在没有边界处的值会很小。
[0077]
s5.2把梯度图像中的所有像素按照灰度值进行分类,并设定一个测地距离阈值。
[0078]
s5.3找到灰度值最小的像素点(默认标记为灰度值最低点),让threshold从最小值开始增长,这些点为起始点。
[0079]
s5.4水平面在增长的过程中,会碰到周围的邻域像素,测量这些像素到起始点(灰度值最低点)的测地距离,如果小于设定阈值,则将这些像素淹没,否则在这些像素上设置大坝,这样就对这些邻域像素进行了分类。
[0080]
s5.5随着水平面越来越高,会设置更多更高的大坝,直到灰度值的最大值,所有区域都在分水岭线上相遇,这些大坝就对整个图像像素的进行了分区。
[0081]
s6:卵子识别与计数
[0082]
在分割开粘连重叠颗粒后,为了便于观察,本文将最终的识别结果标记于原图。具体步骤是:
[0083]
s6.1用半径为2大小的圆形结构元素腐蚀分割结果中的目标区域,分割后的区域之间的距离变大,避免影响邻近目标区域相互影响。
[0084]
s6.2调用open cv库中find contours()函数提取颗粒分割结果中每个区域的轮廓。
[0085]
s6.3依次遍历每个区域轮廓,并用min enclosing circle()函数求取能够的包围区域外轮廓点集的最小外接圆,圆的半径r和圆心(a,b),该圆心可近似为颗粒中心点。
[0086]
s6.4由于步骤1对目标进行轻微了腐蚀,这里将求取的外接圆的半径增加2,最后将圆心为(a,b)、半径为r 2的圆画于原图。
[0087]
s6.5统计所有圆的面积,为a1,a2…
a
n
,得到面积中间值大小为s_median,将面积大于或者小于0.2*s_median的圆删除,这些圆因为面积过大或过小,不应计入卵子数量。然后计数保留下来的圆,其数量即为最终的卵子数量。
[0088]
本发明的方法很好的解决了基于图像处理的乌鳢卵子计数问题,因而此方法可以应用到乌鳢自动养殖中,具有广阔的应用前景和价值。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献