《电子技术应用》
您所在的位置:首页 > 其他 > 设计应用 > 计算机图像处理技术在水产养殖业中的应用
计算机图像处理技术在水产养殖业中的应用
史 兵 赵德安 谢代锋
摘要: 利用计算机图像处理技术在水产养殖业中实现对鱼类生长的监控。
Abstract:
Key words :

  摘  要: 利用计算机图像处理技术在水产养殖业中实现对鱼类生长的监控。
  关键词: 数字图像处理  水产养殖  Matlab

   近年来,随着经济的发展及人们生活水平的日益提高,对水产品需求量也越来越大。因此工厂化水产养殖已成为水产养殖业的主要生产方式。但是,在工厂化水产养殖场中微生物容易大量繁殖,病害越来越多,而鱼药的滥用很容易造成鱼类短期内大量死亡的事故。因此如何早期发现养殖水池中鱼出现病变或死亡,以便采取相应的补救措施,已成为水产养殖业中一项重要的任务。本文将介绍一种利用数字图像处理技术对养殖现场中鱼类生长情况实现监控的系统。
1 系统构成
  图像处理一般具有较复杂的运算,占用较多CPU资源。为了能将图像处理功能与整个水产养殖计算机监控系统融合,本文所述的图像处理方法将依据快速、简易、准确的原则。系统构成示意图如图1所示。

 

 

  该微机图像处理系统常用部件由摄像机、视频图像采集卡、计算机和打印机等基本硬件组成。目前普遍采用的固体器件摄像机是CCD类型。CCD摄像机是由电荷耦合元件组成的图像探测器,具有体积小、重量轻、结构紧凑等优点。视频图像采集卡可以将摄像机得到的模拟图像信号转换成数字图像信号,供计算机处理。根据图像采集的速度,视频采集卡可以分为:中速采集卡、实时单频采集卡、实时采集卡三种。本系统采用中速采集卡,采集速度约为1帧/s。视频图像采集卡插在微机的扩展槽上,与摄像机连接使用。计算机采用CPU为PentiumⅢ1G,256MB内存,40GB硬盘的PC机。根据实际情况选择配置数据库的大小,本系统为100GB容量,也可适当减少或增容。打印机采用普通喷墨或激光打印机即可。
  本系统的工作过程:摄像机拍摄池塘的实时画面,传送给视频图像采集卡,图像采集卡负责将模拟图像信号转换成计算机能处理的数字图像信号,计算机根据编制好的程序进行处理、识别、报警,将处理结果存入数据库,需要时可打印出图像。
2  应用原理
  通过计算机图像识别鱼类发生病变的原理是:当鱼类生活的水质被污染、鱼类生病或药物中毒,从而出现不适或死亡时,鱼会侧翻,腹部颜色较浅部分会浮在水面,与水池较深的背景颜色有较大的区别,容易区分。并且在养殖场中统一放养的鱼具有品种相同,大小相近等特点。这就可以利用统计方法,得出分割病鱼与池塘水背景色的阈值,同时也可以得到某一段时期池塘内鱼的大小及腹部白色区域的大小。因此,可将得到原始图像二值化,将病鱼的白色腹部与背景分割开,统计白色区域部分的数目和大小,当最小白色区域大于等于该段时间内的统计值的下限,且小于统计值的上限时,即认为有鱼出现不适反应或已经死亡,需要采取措施。
3  软件设计
  本系统的图像处理程序由Matlab语言编制而成。Matlab是一种应用广泛的编程工具,语法简单,函数丰富,具有优秀的图形显示功能及强大的人机交互能力。特别是在图像处理方面更具有明显的优势:强大的矩阵运算功能、图形显示方便,有专门的灰度及彩色图像显示函数、丰富的图像处理函数库。它大大降低了程序开发难度,缩短了开发周期。图像处理系统程序流程图如图2所示。

 

 

  首先,清除Matlab所有的工作平台变量,关闭已打开的图形窗口,读入一幅图像。
  clear;
  close all;
  I=imread(′5.jpg′);  %读入待处理图片
  Y=rgb2gray(I);     %RGB图转换为灰度图
  图像在输入、传送、处理过程中难免会有干扰,形成噪声,降低图像质量,因而造成图像处理的困难或者产生不良的视觉效果。中值滤波可以抑制干扰,消除噪声。其函数如下:
  medfilt2(Y);
  灰度图像二值化的关键是选择好分割阈值,把病鱼与背景分割开。根据多次实验得到统计数据,阈值为225时,可以较好地把待处理对象与背景分割开,程序如下:
  

  灰度图像的直方图和其二值化后的图像如图3、图4所示。


  二值化后的图像中还含有不少白色斑点。很明显,这些白色斑点不是病鱼造成的,所以必须去除掉,否则将会影响下一步处理。根据经验将该二值图像反复收缩扩张4次后能较好地去除不必要的白色斑点,程序如下:
  %以下程序对二值图像进行2次扩张
  
  该程序中zaikuozhanghanshu( )为自定义的扩张函数,shousuohanshu( )为自定义的收缩函数。
  程序执行后得到处理后的图像如图5所示。


  利用力学中矩的概念,将区域内部的象素作为质点,象素的坐标作为力臂,从而以各阶矩的形式来表示区域特征。设图像各象素的质量为1,即1-象素的质量就等于它的象素值;S为图形面积;(I,j)为图形内象素坐标。矩的公式可表示为:
  

  即为图像中1-象素之和,也就是图像的面积。
  利用函数:[Y,bw]=bwlabel(G),将图5中的2块白色斑点分别用1和2标注,可以判断出2块白色点的大小。根据实验统计数据,在本段时期单条鱼病变或死亡时所暴露的白色区域面积为M(0,0)=1000±200,将用1和2标注好的2块白色区域中最小区域分别与M(0,0)值下限和上限比较。若值落在二者之间,则说明鱼出现不适或死亡现象,系统报警,否则正常。
4  总  结
  利用上述方法进行图像处理,具有快速、简易、准确等优点。程序编制简单,程序代码少,可以方便地嵌入到VC++系统监控程序中,使水产养殖环境监控系统具有更多的功能,满足监控现场更高的要求。系统能有效地监视鱼类的生长情况,具有良好的应用前景。
参考文献
1   张兆礼,赵春晖,梅晓丹.现代图像处理技术及Matlab实现.北京:人民与邮电出版社,2001
2   方如明,蔡健荣,许俐.计算机图像处理技术及其在农业工程中的应用.北京:清华大学出版社,1999
 

此内容为AET网站原创,未经授权禁止转载。