一种基于机器视觉的鱼类体长测量装置的制作方法

文档序号:16153018发布日期:2018-12-05 18:40阅读:423来源:国知局
一种基于机器视觉的鱼类体长测量装置的制作方法

本实用新型涉及测量领域,更具体地,涉及一种基于机器视觉的鱼类体长测量装置。



背景技术:

我国作为渔业发展大国,鱼类养殖工厂规模庞大。鱼类生长数据测量在养殖过程中必不可少,关系到企业对鱼类鱼苗投放、饲料的投喂、病害防治、收获捕捞等。

传统鱼类体长测量方法主要靠人工测量,即通过游标卡尺、体重测量器等工具将活鱼打捞出来评估体长体重,但是这种方法耗时较长、劳动密集、效率低、易有遗漏,且给鱼体造成压力、增加损害的风险或降低鱼的进食率而抑制其生长。



技术实现要素:

本实用新型提供一种克服上述问题或者至少部分地解决上述问题的基于机器视觉的鱼类体长测量装置。

第一方面,本实用新型提供一种基于机器视觉的鱼类体长测量装置,包括:水下防水摄像头、上下滑轨、第一电机、输入装置和控制器;

所述输入装置的输出连接所述控制器的输入,所述控制器的输出连接所述第一电机,所述第一电机连接所述上下滑轨,所述控制器和所述防水摄像头双向连接,所述防水摄像头安装在所述上下滑轨上。

优选的,还包括:左右滑轨和第二电机;

所述第二电机连接所述左右滑轨,所述上下滑轨安装在所述左右滑轨上,所述控制器的输出连接所述第二电机。

优选的,还包括:驱动控制器;

所述控制器的输出连接所述驱动控制器的输入,所述驱动控制器的输出连接所述第一电机和所述第二电机。

优选的,还包括:USB转换器;

所述控制器的输出连接所述USB转换器的输入,所述USB转换器的输出连接所述驱动控制器的输入。

优选的,所述第一电机和所述第二电机均为步进电机。

优选的,所述水下防水摄像头的镜头为可360度旋转的CCD镜头。

优选的,所述水下防水摄像头通过AV1接口视频线连接所述控制器。

优选的,还包括:显示装置;

所述控制器的输出连接所述显示装置。

优选的,所述输入装置和所述显示装置集成为一体。

优选的,所述输入装置和所述显示装置集成为触摸显示屏。

由上述技术方案可知,本实用新型由于所述输入装置的输出连接所述控制器的输入,所述控制器的输出连接所述第一电机,所述第一电机连接所述上下滑轨,所述控制器和所述防水摄像头双向连接,所述防水摄像头安装在所述上下滑轨上,控制器可通过控制第一电机控制上下滑轨上下移动,并通过水下防水摄像头分别拍摄移动前后的两个位置的鱼体图像,再根据两个位置的鱼体图像计算鱼体体长,鱼体不用脱离水池,不会给鱼体造成压力,可使鱼体在稳定的条件下生长,降低损害的风险,也不会因为降低鱼的进食率而抑制其生长,耗时短、效率高。

附图说明

图1为本实用新型一实施例的基于机器视觉的鱼类体长测量装置的结构示意图;

图2为本实用新型一实施例提供的鱼类体长测量方法的流程图;

图3为本实用新型一实施例提供的触摸显示屏的界面的示意图。

具体实施方式

下面结合附图和实施例,对本实用新型的具体实施方式作进一步详细描述。以下实施例用于说明本实用新型,但不用来限制本实用新型的范围。

图1为本实用新型一实施例的基于机器视觉的鱼类体长测量装置的结构示意图。

如图1所示的一种基于机器视觉的鱼类体长测量装置,包括:水下防水摄像头5、上下滑轨4、第一电机3、输入装置和控制器2;

所述输入装置的输出连接所述控制器2的输入,所述控制器2的输出连接所述第一电机3,所述第一电机3连接所述上下滑轨4,所述控制器2和所述防水摄像头双向连接,所述防水摄像头安装在所述上下滑轨4上。

可以理解的是,所述输入装置,用于接收第一拍摄指令、上下移动指令和第二拍摄指令,并将所述第一拍摄指令、所述上下移动指令和所述第二拍摄指令发送给所述控制器2;

所述控制器2,用于将所述第一拍摄指令和所述第二拍摄指令发送给所述水下防水摄像头5,将所述上下移动指令发送给所述第一电机3,根据第一鱼体图像和第二鱼体图像计算鱼体体长;

所述第一电机3,用于根据所述上下移动指令运行,以控制所述上下滑轨4上下移动预设距离后停留在水中的第二位置;

所述水下防水摄像头5,用于根据所述第一拍摄指令在水中的第一位置对鱼体进行拍摄,获取第一鱼体图像后发送给所述控制器2,根据所述第二拍摄指令在水中的第二位置对鱼体进行拍摄,获取第二鱼体图像后发送给所述控制器2。

值得说明的是,本实施例中的鱼体图像为彩色图像,以下同。

值得说明的是,所述装置还包括电源1,所述电源1连接所述控制器2,为所述控制器2提供电能。

在一种具体实施例中,所述水下防水摄像头5的镜头可为可360度旋转的CCD镜头。水下防水摄像头5可通过AV1接口视频线连接所述控制器2。

本实用新型由于所述输入装置的输出连接所述控制器2的输入,所述控制器2的输出连接所述第一电机3,所述第一电机3连接所述上下滑轨4,所述控制器2和所述防水摄像头双向连接,所述防水摄像头安装在所述上下滑轨4上,控制器2可通过控制第一电机3控制上下滑轨4上下移动,并通过水下防水摄像头5分别拍摄移动前后的两个位置的鱼体图像,再根据两个位置的鱼体图像计算鱼体体长,鱼体不用脱离水池,不会给鱼体造成压力,可使鱼体在稳定的条件下生长,降低损害的风险,也不会因为降低鱼的进食率而抑制其生长,耗时短、效率高。

还可根据采集的上述多个数据为养殖场建立鱼体生长参数数据库,对投喂机制、疫病监控、鱼群分析、异常行为等进行数据支持。用户可实现远程监控鱼体生长情况,对生长数据进行分析并建立更好的投喂机制及收获时间,达到最佳经济收益状态。

作为一种优选实施例,还包括:左右滑轨6和第二电机;

所述第二电机连接所述左右滑轨6,所述上下滑轨4安装在所述左右滑轨6上,所述控制器2的输出连接所述第二电机。

值得说明的是,所述输入装置,还用于接收左右移动指令和停止左右移动指令,并将所述左右移动指令和停止左右移动指令发送给所述控制器2;

所述控制器2,还用于将所述左右移动指令和所述停止左右移动指令发送给所述第二电机;

所述第二电机,用于根据所述左右移动指令运行,以控制左右滑轨6左右移动,根据所述停止左右移动指令停止运行,以控制左右滑轨6停止左右移动,并停留在所述第一位置。

需要说明的是,设左右滑轨6移动前设停留在A位置,本实施例针对的是A位置拍摄不到要测量的鱼体或者拍摄的不好,因此,通过本实施例所述的结构控制左右滑轨6移动到第一位置,而第一位置能拍摄到要测量的鱼体。当然,若A位置就可以拍摄到要测量的鱼体,则不需要移动左右滑轨6。

值得说明的是,所述装置还可包括显示装置,所述控制器2的输出连接所述显示装置,用于显示水下防水摄像头5照射到的鱼体以及拍摄到的鱼体图像。所述输入装置和所述显示装置可集成为一体,如集成为触摸显示屏。

本实施例中,通过显示装置显示水下防水摄像头5照射到的鱼体,通过在显示装置上观察确定是否需要左右移动水下防水摄像头5,在当前拍摄位置不佳时,输入左右移动指令,在确定可以拍摄到最佳鱼体图像时,输入停止左右移动指令,使水下防水摄像头5可以停留在最佳位置,最终保证可以获取最佳的鱼体图像,即本实施例可通过调节左右滑轨6的位置调节水下防水摄像头5的位置,从而可以得到最佳的鱼体图像。

作为一种优选实施例,还包括:驱动控制器;

所述控制器的输出连接所述驱动控制器的输入,所述驱动控制器的输出连接所述第一电机和所述第二电机。

所述控制器2通过驱动控制器2连接所述第一电机3和第二电机,其连接关系可采用现有连接关系,在此不再赘述。

值得说明的是,若驱动控制器2的数据接口为USB口,则所述装置还可包括:USB转换器;

所述控制器的输出连接所述USB转换器的输入,所述USB转换器的输出连接所述驱动控制器的输入。

在一种具体实施例中,所述第一电机3和第二电机均可为步进电机。

值得说明的是,所述输入装置可通过硬件设备实现,比如触摸显示屏等,但并不局限于此,还可通过输入电路实现。所述控制器2可采用C470控制器2或C490控制器2等,但并不局限于此,本实施例中不再一一列举。

本实用新型的上述装置实施例仅为部分实施例,本领域技术人员在上述各装置实施例的基础上可得到的各种变形均在本实用新型的保护范围内。

图2为本实用新型一实施例提供的鱼类体长测量方法的流程图。

如图2所示的一种基于所述的基于机器视觉的鱼类体长测量装置的鱼类体长测量方法,包括:

S201、所述输入装置接收第一拍摄指令,并将所述第一拍摄指令发送给所述控制器,所述控制器将所述第一拍摄指令发送给所述水下防水摄像头,所述水下防水摄像头根据所述第一拍摄指令在水中的第一位置对鱼体进行拍摄,获取第一鱼体图像后发送给所述控制器;

S202、所述输入装置接收上下移动指令,并将所述上下移动指令发送给所述控制器,所述控制器将所述上下移动指令发送给所述第一电机,所述第一电机根据所述上下移动指令运行,以控制所述上下滑轨上下移动预设距离后停留在水中的第二位置;

S203、所述输入装置接收第二拍摄指令,并将所述第二拍摄指令发送给所述控制器,所述控制器将所述第二拍摄指令发送给所述水下防水摄像头,所述水下防水摄像头根据所述第二拍摄指令在水中的第二位置对鱼体进行拍摄,获取第二鱼体图像后发送给所述控制器;

S204、所述控制器根据所述第一鱼体图像和所述第二鱼体图像计算鱼体体长。

本实用新型控制器可通过控制第一电机控制上下滑轨上下移动,并通过水下防水摄像头分别拍摄移动前后的两个位置的鱼体图像,再根据两个位置的鱼体图像计算鱼体体长,鱼体不用脱离水池,不会给鱼体造成压力,可使鱼体在稳定的条件下生长,降低损害的风险,也不会因为降低鱼的进食率而抑制其生长,耗时短、效率高。

作为一种优选实施例,所述步骤S204,包括:

根据所述第一鱼体图像计算鱼体在第一鱼体图像中的长度;

根据所述第二鱼体图像计算鱼体在第二鱼体图像中的长度;

根据所述鱼体在第一鱼体图像中的长度和鱼体在第二鱼体图像中的长度,计算鱼体体长。

作为一种优选实施例,根据所述第一鱼体图像计算鱼体在第一鱼体图像中的长度,包括:

根据所述第一鱼体图像获取所述第一鱼体图像的二值化图像;

可以理解的是,将采集到的第一鱼体图像进行灰度化;

值得说明的是,将拍摄的彩色的图像转化成灰度图像的过程叫图像的灰度化处理,彩色图像中每个像素的颜色有R、G、B三个分量决定,而每个分量有255中值可取,而灰度图像是RGB三个分量相同的一种特殊彩色图像,所以采集到鱼类图像后,采用下述公式(一)将三个分量进行加权,得到灰度化图像。

f(i,j)=0.30R(i,j)+0.59G(i,j)+0.11B(i,j) (一)

其中,f(i,j)为横向像素坐标点为i,纵向像素坐标点为j的像素点的像素的颜色,R(i,j)为横向像素坐标点为i,纵向像素坐标点为j的像素点的R分量,G(i,j)为横向像素坐标点为i,纵向像素坐标点为j的像素点的G分量,B(i,j)为横向像素坐标点为i,纵向像素坐标点为j的像素点的B分量。

灰度化之后为了使得计算方便,对得到的灰度化图像通过最大类间方差法处理,得到二值化图像。

本步骤具体包括:将图像中的每个像素点的灰度值设置为0(黑色)和255(白色),让整个图像呈现只有黑和白的效果。当鱼体图像灰度化之后,执行二值化,程序通过计算图像中像素点矩阵中所有像素点的灰度值的平均值,然后让每一个像素点与平均值进行比较,小于平均值的设置为0,大于平均值的设置为255,得到二值化图像。

采用中值滤波的方式对所述二值化图像进行校正;

如果得到的二值化图像周围存在白色噪点,点击去噪点按钮,利用中值滤波器将像素矩阵遍历一遍,让与周围像素灰度值的差比较大的像素改取与周围像素值接近的值,消除孤立的噪声点。

根据所述二值化图像获取第一鱼体图像中鱼体的轮廓图像;

本步骤具体包括:利用canny算法对所述二值化图像进行轮廓提取,获取所述轮廓图像,并显示在界面(比如触摸显示屏)上。触摸显示屏的界面如图3所示。根据所述鱼体的轮廓图像获取鱼体的轮廓对应的各像素点的坐标值;

根据所述鱼体的轮廓对应的各像素点的坐标值,计算鱼体在第一鱼体图像中的长度。

可以理解的是,根据所述第二鱼体图像计算鱼体在第二鱼体图像中的长度的方法与该实施例相同,不再赘述。

下面描述根据鱼体图像中鱼体的轮廓图像计算鱼体在鱼体图像中的长度的具体步骤,包括:

遍历轮廓上的各个白色像素点坐标值(x,y)并存入向量组中,找到长度方向(可人为设定哪一方向为长度方向)上的最小坐标点(x1,y1)与最大坐标点(x2,y2)(坐标点即为像素点,下同),利用下述公式(二)算出两个像素点之间的距离|dis|,即为鱼体在图像中的长度。

作为一种优选实施例,根据所述鱼体在第一鱼体图像中的长度和鱼体在第二鱼体图像中的长度,计算鱼体体长,包括:

根据所述鱼体在第一鱼体图像中的长度和鱼体在第二鱼体图像中的长度,通过公式(三)、(四)、(五)计算鱼体体长

L=a/u1+bp1 (三)

u1=f-km/(k-1) (四)

k=p2/p1 (五)

其中,L为鱼体体长,p1为鱼体在第一鱼体图像中的长度,p2为鱼体在第二鱼体图像中的长度,a、b均为常数,f为水下防水摄像头的焦距,为预知值,m为所述预设距离。

作为一种优选实施例,所述步骤S201中的所述输入装置接收第一拍摄指令之前,所述方法还包括:

所述输入装置接收左右移动指令,并将所述左右移动指令发送给所述控制器,所述控制器将所述左右移动指令发送给第二电机,所述第二电机根据所述左右移动指令运行,以控制左右滑轨左右移动;

所述输入装置接收停止左右移动指令,并将所述停止左右移动指令发送给所述控制器,所述控制器将所述停止左右移动指令发送给所述第二电机,所述第二电机根据所述停止左右移动指令停止运行,以控制左右滑轨停止左右移动,并停留在所述第一位置。

根据装置实施例的介绍可知,本实施例中,通过与控制器连接的显示装置显示水下防水摄像头照射到的鱼体,通过在显示装置上观察确定是否需要左右移动水下防水摄像头,在当前拍摄位置不佳时,输入左右移动指令,在确定可以拍摄到最佳鱼体图像时,输入停止左右移动指令,使水下防水摄像头可以停留在最佳位置,最终保证可以获取最佳的鱼体图像,即本实施例可通过调节左右滑轨的位置调节水下防水摄像头的位置,从而可以得到最佳的鱼体图像。

作为一种优选实施例,所述步骤S201中的所述输入装置接收第一拍摄指令之前,所述方法还包括:

所述输入装置接收旋转指令,并将所述旋转指令发送给所述控制器,所述控制器将所述旋转指令发送给所述水下防水摄像头的旋转电机,所述旋转电机根据所述旋转指令旋转;

所述输入装置接收停止旋转指令,将所述停止旋转指令发送给所述控制器,所述控制器将所述停止旋转指令发送给所述旋转电机,所述旋转电机根据所述停止旋转指令停止旋转。

值得说明的是,在显示装置上不能看清鱼头和鱼尾的情况下手动输入旋转指令,并在能看清鱼头和鱼尾的情况下手动输入停止旋转指令,从而可以保证拍摄到最佳鱼体图像。在实际使用时,先将两个分别控制上下滑轨和左右滑轨滑动的步进电机装置于对应滑轨上,水下防水摄像头与控制器通过AV数据线相连,并装置于上下滑轨上,将滑轨安置于养殖鱼体的水池中,由控制器控制步进电机与水下防水摄像头,步进电机将电能转化为机械能带动上下滑轨和左右滑轨上下左右滑动,以使水下防水摄像头在不同的距离(此处的不同距离主要指不同水深)下拍摄鱼体活动的图像,存储于模块内部的储存卡,操作人员在控制器界面(如触摸显示屏)选择需要测量的鱼体,并用鼠标圈注出来,储存卡将图像传输至数据处理模块与体长计算模块(这两个模块是控制器中的不同功能模块),数据处理模块根据图像获取相关参数并发送给体长计算模块。体长计算模块根据相关参数计算出鱼体体长显示于控制器的屏幕(屏幕可为触摸显示屏)上,并记录在储存卡中。控制器可设置拍摄间隔,拍摄结束后,控制器发送休眠信号,水下防水摄像头回到初始位置,并进入休眠状态。

控制器将接收到的数据,以图像拍摄时间分类,关联鱼体个体生长数据、视频图像数据,建立鱼体生长参数数据库,并上传至服务器。

本实用新型的上述方法实施例仅为部分实施例,本领域技术人员在上述各方法实施例的基础上可得到的各种变形均在本实用新型的保护范围内。

应当注意的是,在本实用新型的装置的各个部件中,根据其要实现的功能而对其中的部件进行了逻辑划分,但是,本实用新型不受限于此,可以根据需要对各个部件进行重新划分或者组合,例如,可以将一些部件组合为单个部件,或者可以将一些部件进一步分解为更多的子部件。

应该注意的是上述实施例对本实用新型进行说明而不是对本实用新型进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。单词“包括”不排除存在未列在权利要求中的元件或步骤。本实用新型可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。

以上实施方式仅适于说明本实用新型,而并非对本实用新型的限制,有关技术领域的普通技术人员,在不脱离本实用新型的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本实用新型的范畴,本实用新型的专利保护范围应由权利要求限定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1