毕业论文:计算机视觉技术在瘦肉精快速检

发布时间:2019-09-23 20:27

计算机视觉技术在瘦肉精快速检测中的应用

湖南商学院本科毕业设计(论文)诚信声明
(单面打印,此说明打印时删除)
本人郑重声明:所呈交的本科毕业设计(论文),是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议,除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。

食品安全是社会广泛关注的敏感问题,与消费者权益密切相关。本文针对当前影响较大的肉类食品瘦肉精残留问题,研究了现有瘦肉精检测技术及其不足,提出了一种基于数字图像处理与多元信息融合的瘦肉精快速检测方法,详细论述了计 毕业论文算机视觉技术在瘦肉精快速检测中的应用,给出了肌肉颜色、脂肪层厚度等特征参数的图像信息获取、处理、识别与描述方法。
全文共分四部分。论文首先论述瘦肉精检测的意义和现有的检测方法、原理以及不足之处,引出基于数字图像处理与多元信息融合的瘦肉精快速检测的必要性与可行性。
其次,本文介绍基于数字图像处理与多元信息融合的瘦肉精快速检测系统的构成与工作原理,给出系统数字图像采集部分的硬件选择与图片文件格式选择方法,探讨系统的关键研究技术。
再次,本文针对系统的关键研究技术之一——计算机视觉技术在瘦肉精快速检测中的应用进行深入研究,重点研究基于计算机视觉的肌肉颜色判定与脂肪层厚度检测方法。
最后,总结本文的创新与不足,介绍项目研究的后续工作,展望基于数字图像处理与多元信息融合的瘦肉精快速检测方法的应用前景。
在附录中,本文还将给出一些重要的程序设计,供参考之用。

关键词
瘦肉精快速测定;计算机视觉;肌肉颜色;脂肪厚度
 

ABSTRACT(单面打印,此说明打印时删除)
Food security is a sensitive issue with the social widespread attention, and it has close correlation with consumer rights and interests. In this paper the issue of remnant of clenbuteral in meat food is discussed, the existing techniques for rapid clenbuteral detection and their insufficiency are studied, then a kind of method based on digital image processing and many entity information fusion is proposed. In detail the application for the computer vision technique in rapid clenbuteral detection is elaborated, and it is produced how to gain, process, recognize and descript the characteristic parameters on muscle color, fat thickness.
The full text is divided into four parts. At first the significance for clenbuteral detection and the existing methods, principles as well as their deficiencies are elaborated, then the necessity and feasibility on rapid clenbuteral detection based on digital image processing and many entity information fusion are drawed out.
Secondly, the constitution and principle of this rapid clenbuteral detection system based on digital image processing and many entity information fusion are introduced, then it is produced how to choose the hardware and the picture document format for this digital image gathering system, the key techniques are also discussed.
Next, one of the key techniques, the application of computer vision technique for rapid clenbuteral detection is researched into, the ways on muscle color determination and fat thickness detection are laid particular emphasis.
Finally, the innovation and insufficiency of this paper are summarized, the following research work of this project is introduced, the application for the method of rapid clenbuteral detection based on digital image processing and many entity information fusion is prospected.
At the supplement, something like program code, dialogs etc will be written. It may be helpful for the future design.

KEY WORDS
rapid clenbuteral detection; computer vision; muscle color; fat thickness
 
目   录(双面打印,此说明打印时删除)
1. 绪论 1
1.1  项目研究的意义 1
1.2  瘦肉精残留检测研究现状与发展方向 1
1.2.1  瘦肉精猪肉感观检验法 2
1.2.2  瘦肉精残留检测研究现状及不足 2
1.2.3  瘦肉精残留检测发展方向 5
1.3  本文的研究内容 6
2. 系统构成与工作原理 8
2.1  瘦肉精猪肉快速检验法 8
2.2  仪器原理框图 8
2.3  数字视觉系统 8
2.3.1  硬件采集设备的选择 9
2.3.2  图片文件格式的选择 10
2.4  数字图像处理 11
2.5  系统研究的关键技术 13
3. 肉品图像特征选择与提取 15
3.1  基于计算机视觉的肉品颜色判定 15
3.1.1  肉品原始图像的R通道变换 15
3.1.2  脂肪与肌肉R通道的灰度像素点统计 17
3.1.3  肌肉颜色自动判定的软件实现 21
3.2  基于计算机视觉的脂肪层厚度自动检验 22
3.2.1  肉品原始图像的灰度图像变换 22
3.2.2  肉品灰度图像去小域处理 24
3.2.3  肉品脂肪层的自动识别方法 25
3.2.4  肉品脂肪层厚度的计算 26
3.2.5  脂肪层厚度自动检测的软件实现 28
3.3  肌纤维饱满程度描述 29
参考文献 2
致谢 4
附录1  猪肉样品图像 5
附录2  肌肉红色度判断仿真程序 6
附录3  脂肪层厚度检验仿真程序 8

 
(正文另起一页。正文、结束语、参考文献、致谢、附录均双面打印,此说明打印时删除)
计算机视觉技术在瘦肉精快速检测中的应用
1. 绪  论
瘦肉精即盐酸克伦特罗CLB(Clenbuteral),又称氨哮素、克喘素,化学名称为羟甲叔丁肾上腺素,分子式:C12-H18-Cl2-N2-O,用于治疗哮喘。20世纪80年代初,美国科学家意外发现盐酸克伦特罗进入体内后能够改变养分的代谢途径,促进动物肌肉,特别是骨骼肌中蛋白质的合成,抑制脂肪的合成和积累,从而改善胴体品质,使动物生长速度加快,瘦肉相对增加10%以上,所以,称它为“瘦肉精”。
1.1  项目研究的意义
有关研究发现,食品中含有盐酸克伦特罗对人是有害的。盐酸克伦特罗进入体内在胃肠道吸收快,人或动物服后15~20分钟即起作用,2~3小时血浆浓度达到峰值,作用维持时间持久,在体内代谢慢,主要分布于肝脏,在肝脏中去甲基后从尿中排出,肌肉中含量较肝脏低很多[1]。瘦肉精的理化性质非常稳定,需加热到172℃才能分解,一般的加热方法不能将其破坏。
近年来,随着城乡人们生活水平的提高,畜禽肉的食用量越来越大,人们对鲜肉的质量要求越来越高。但不法商贩为牟取暴利,在牲畜喂养过程中使用含有瘦肉精饲料的现象越来越多,肉类瘦肉精超标已经成为严重威胁人们身体健康的一大公害。几年来,全国每年约有600起瘦肉精中毒重大事件上报中央和国务院,国家组织有关部门狠抓食品安全,下决心杜绝瘦肉精坑民行为。但受暴利驱动,瘦肉精违法现象却愈演愈烈。
由于检测仪器的缺乏,我国长期以来屠宰执法、工商管理、卫生防疫、质量监督部门的执法检验人员不能直接定性判断含瘦肉精肉品,只能将样品提交中心城市具有瘦肉精检测仪器的单位寻求出证。由于中途移交过程和检测时间过长,造成肉品的变质或贬值。如果经检测肉品合格,执法检验人员还将面临行政诉讼和行政赔偿,大大削弱了执法的质量和效率,国家“三绿工程”(绿色生产、绿色流通、绿色消费)也因此无法畅通执行。因此,瘦肉精快速检测技术与仪器的研究刻不容缓。
1.2  瘦肉精残留检测研究现状与发展方向
测量信息的获取,无非是从物理、化学和生物三个角度出发,瘦肉精残留检测也是如此。其化学方面的研究方法可以归根于色谱法,生物方面的方法则归根于免疫法,关于物理检测方面目前则鲜有其例。
1.2.1  瘦肉精猪肉感观检验法
对于现场缺乏检验仪器的场所,有关专家提供了以下三种识别瘦肉精猪肉的感观检验法[2]。
(1)观察活猪
该法适合于宰前检疫。进栏待宰的生猪,凡皮毛异常光亮,呼吸急促,后臀部外形饱满并且突出,四肢严重颤抖或非外因而卧地不起者,可以初步判断为喂养过瘦肉精的猪。
(2)观察肉品
含有瘦肉精的猪肉具有以下四个方面的特点:①肉色较深而鲜艳;②脂肪层非常薄,往往肉皮紧贴着肌肉,中间无肥肉;③后臀肌肉饱满突出;④相对同畜龄品种,骨骼较软。
(3)试纸测试
正常新鲜猪肉多呈中性或弱碱性,宰后1小时PH值变为6.2~6.3,自然条件下冷却6小时以上PH值变为5.6~6.0;含有瘦肉精的猪肉则偏酸性,PH值明显小于正常范围。后两种方法适合于宰后检验。
1.2.2  瘦肉精残留检测研究现状及不足
目前,检测CLB残留的方法主要有以下几种——高效液相色谱法HPLC(High Performance Liquid Chromatography)、气相色谱-质谱法GC-MS(Gas Chromatographic-Mass Spectrometric)、毛细管区带电泳法CZE(Capillary Zone Electrophoresis)和免疫分析技术IA(Immunoassay),以下逐一介绍。
(1)高效液相色谱法
色谱法又叫层析法。它是根据各组分的物理或化学性质的差异,将多组分混合物进行分离,而后逐个分析,它是分析混合物的最有利的手段。高效液相色谱法是用高压输液泵将具有不同极性的单一溶剂或不同比例的混合溶剂、缓冲液等流动相泵入装有固定相的色谱柱,经进样阀注入供试品,由流动相带入柱内,当两相相对运动时,在固定相中分配系数大的组分洗脱速度较慢,分配系数小的组分洗脱速度较快,因此达到组分的分离,然后使各组分依次进入检测器,色谱信号由记录仪或积分仪记录[3]。
HPLC比较权威,检测灵敏度高,而且假阳性率低,但其检测设备昂贵、实验成本相当高、检测时间长、对实验人员的专业要求相当高;所以除了少数有条件的实验机构将其作为科研研究或作为最后的确认方法,在常规的检测中较少使用该方法。目前,中国将HPLC法作为检测CLB残留的半确证性方法,其最低检测限范围为1~15ng/g[4]。
(2)气相色谱-质谱法
用气体作为流动相的色谱法称为气相色谱法,根据固定相的状态不同,又可将其分为气固色谱和气液色谱。质谱法是将试样分子或原子在离子源中电离,离子加速后,在质量分析器的作用下,按大小分离聚焦,可以用质谱方程式表达离子与运动轨道曲线半径R的关系。将这两种方法联合使用的GC-MS联用仪可用于有机复杂组分的分离和鉴定。
GC-MS常用于测定血液及组织中CLB残留。GC-MS具有较高的灵敏度,可以准确地对CLB进行定性和定量分析。测定前要对分子上羟基、氨基等极性基团衍生化,硅烷衍生物是最常用的一种,Van Rhijn等报道联合使用三甲基硅烷(TMS)和环状二甲基硅烷吗啉(DMS)两种衍生物可提高检测限[5]。Wilson等报道用此法检测动物组织中的CLB,检测限达到0.25ng/g[6]。
GC-MS法优点是能在多种残留物同时存在的情况下对某种特定的残留物进行定性、定量分析。GC-MS法与HPLC法相比,检测灵敏度更高,假阳性率更低。中国将GC-MS法定为检测CLB的确证性方法[7]。GC-MS法的缺点同HPLC相似。
(3)毛细管区带电泳法
CZE法非常适用于那些难以用传统的液相色谱法分离的离子化样品的分离与分析。具有很大的灵活性,操作简便,所需样品少。应用CZE技术检测人尿中CLB的残留,最低检测限达到0.5ng/ml[8]。精确度、准确度均已符合生物样品中残留物的检测标准;缺点是检测时间较长,需要复杂的仪器。目前使用范围不广。
(4)免疫分析技术
IA技术,主要有放射免疫分析技术RIA(Radioimmunoassay)和酶免疫分析技术EIA(Enzyme Immunoassay)。RIA最低检测限可达到0.5ng/g,国外已生产出RIA测定CLB的试剂盒,还建立了放射受体分析法。检测CLB较高效的EIA是酶联免疫分析技术ELISA(Enzyme-Linked Immunosorbent Assay),检测限可达0.05ng/g,最高可达0.003ng/g[9]。
ELISA试剂盒的工作基础是样品中瘦肉精和酶联瘦肉精之间为与板上经抗体包被的微孔中有限的结合位点结合而进行的竞争反应。样品或标准溶液加入到微孔中,然后加入已经稀释的酶联瘦肉精,混合物在室温下温育。在温育过程中,样品中的瘦肉精或酶联瘦肉精与固定在微孔板上的微孔中的抗体结合。温育之后,洗涤微孔板3次以去除没有结合的样品中的瘦肉精和酶联瘦肉精,加入底物进行显色反应以检测结合的酶联瘦肉精。可于白色背景上,直接用肉眼观察结果:反应孔内颜色越深,阳性程度越强,阴性反应为无色或极浅,依据所呈颜色的深浅,以“+”、“-”号表示。定量测试结果可通过用微孔板读数仪测定(650nm)[10]。
英国的Randox Laboratories Ltd和德国的R-biopharm公司均开发出了检测肉品、饲料中CLB残留的ELISA试剂盒[11]。现在国产瘦肉精检测试剂盒及试纸也已经开发成功,是由农业部、大连普瑞康生物技术有限公司及台湾三方共同研发完成。该试剂盒更加着重于对血清样本的检测,使检验结果在准确性及稳定性方面有了一定的提高,灵敏度可达到5ng/g[12]。不过相比前面的几种方法,ELISA法的假阳性率高则是个不争的事实,所以只能用于初步筛选, ELISA也是国家标准检测方法之一[13]。
综上所述,HPLC、GC-MS、CZE的最低检测限都在0.5ng/g以上,而且检测程序烦琐、用时长,仪器贵重、难于操作,无法用于现场检测;EIA法最低检测限可达0.05ng/g,灵敏度和精确度都符合标准,但假阳性率高而且也不能用于现场检测。表1.1给出了以上各种方法的特点比较。
根据表1.1,可以考虑将几种方法联合使用。一般来说,ELISA和HPLC主要用于筛选;GC-MS则具有足够的监测灵敏度,主要用于最后确认与仲裁;CZE目前使用范围不广。农业部最近发文公布了一些行业标准,以期更好地指导瘦肉精检测工作,如猪尿中克伦特罗检测方法——酶联免疫吸附测定法、动物组织中盐酸克伦特罗的测定——气相色谱-质谱法、饲料中盐酸克伦特罗的测定——高效液相色谱法和气相色谱-质谱测定法。
利用上述方法构建一个完整的瘦肉精检测体系,除测量精度可以达到要求外,原有问题仍然没有消失——检测手段复杂,费用过高,检验时间过长。猪尿中克伦特罗酶联免疫吸附测定方法是猪尿中克伦特罗的残留常规快速筛选检测方法,但酶联免疫试剂盒成本较贵,为保证质量,用德国产的试剂盒一般需要3000~4000元,做样品时不可能只做一个样品,一般一批近40个猪尿样品一起做,最快也要1~2天。其它的动物组织如猪肝、猪肉的残留测定,因一般单位均没有气相色谱-质谱仪(每台仪器约150万元左右),而用酶联免疫法测定,一批样品要2~3周。饲料中瘦肉精残留用高效液相法测定,一个样品最快也需要1~2天。对于生猪和肉类食品进行瘦肉精专项检验,最低的价格一次也要200多元,这个成本无论摊给政府或企业,或是养猪户都显然难以承受。
表1.1  瘦肉精检测方法比较
方法 检测限 优点 缺点 标准
HPLC 1~15ng/g 灵敏度高,假阳性率低 检测设备昂贵、实验成本高、检测时间长、对实验人员的专业要求高 是
GC-MS 0.25ng/g 与HPLC法相比,检测灵敏度更高,假阳性率更低 价格昂贵,样品处理时间长,难于操作 是
CZE 0.5ng/ml 具有很大的灵活性,操作简便 检测时间较长,需要复杂的仪器 否
ELISA 0.05ng/g 灵敏度和精确度高 假阳性率高 是
1.2.3  瘦肉精残留检测发展方向
需要是创造的源泉和动力,CLB残留的检测技术的发展成就了金标免疫检测技术DIGFA(Dot-immuogold Filtration Assay)和生物传感器技术BS(Biology Sensor)的进步。如果能成功研制出检测CLB残留的DIGFA试纸条和酶免疫传感器,则可克服上述四种方法的缺点,并且从定性和定量两个方面同时实现CLB残留的现场监测。因此,研制准确、方便、高效的DIGFA试纸条和酶免疫传感器将是今后检测CLB残留方法的目标和方向,值得深入研究和开发[11]。
DIGFA是90年代在免疫渗滤法基础上建立的一种快速简单的方法,其关键技术是CLB单克隆抗体的制备、胶体金的制备、胶体金标记的单克隆抗体的制备、免疫渗滤装置的制备。若研制出特异性强、灵敏度高的CLB单克隆抗体,就能开发出具有市场潜力的检测试纸条,可实现CLB的高效现场检测。目前,在猪尿液的检测方面试纸研究已经取得了突破。由河南省农业科学院生物技术研究所、河南百澳生物工程有限公司研制生产的“盐酸克伦特罗快速检测试纸条”,采用胶体金标记克伦特罗单克隆抗体竞争性膜层析技术,通过试纸条上反应线颜色的变化,判定样品中的瘦肉精含量,只需8~10分钟完就可成测试,且无需添置其他仪器设备。试纸条具有敏感、特异、快速、简便的特点,基本可以适用于现场快速检测、筛选工作。
BS是“迈向21世纪的医学检验技术”之一,也是当今世界上备受关注的一门综合性很强的技术领域。将生物活性物质作为敏感元件(生物识别系统),再配上适当的换能器及输出显示装置所构成的分析工具,从而成倍地突破了微量检测的“极限”,大大加快检测过程,使得全自动无试剂检测成为可能。国外已有生物传感器技术检测CLB残留的报道,Pizzariello A应用分子印记聚合膜作为分子识别系统检测牛肝中CLB残留,证明此方法特异性强。目前利用酶的化学放大作用研制的酶免疫传感器的灵敏度最高可达0.01ng/g,比ELISA法更灵敏、更简便和快速,而且可用于各种抗原物质的测定,尤其对体液中的药物和激素的检测更为适用。
1.3  本文的研究内容
可惜无论上述何种方法,都是在饲料、体液(如尿液、血清)、局部组织(如猪肝)上面做文章,对于消费者来说常见也是最关心的却是最后的环节——我买的这块猪肉是否含有瘦肉精。如果可以制作一个直接面对上市猪肉检测,测量速度快,操作简单、价格适中甚至便携的仪器,无疑会为瘦肉精残留检测领域带来真正的春天。据此,本文提出构建一种基于数字图像处理与多元信息融合的智能检测仪器的设想,利用计算机视觉做检测,结合人类专家经验判断给出结论,可望实现较准确的测量。
实际上,智能检测在工业领域应用是早有先例。例如工业窑炉烧结带温度估测,传统、实用的方法是通过“看火工”——烧结专家对窑炉火焰特征的观察,结合自己长期的经验,进行温度估测。实际上,“火焰”特征就是人眼看到的火焰图像。结合人类专家的经验所进行的温度估测具有明显的智能特征。又例如,烧结矿FeO含量的检测,传统的方法有化学分析法、磁导率法、废气分析法,烧结机尾直观观察法等。其中烧结机尾直观观察法也是通过“看火工”——烧结专家从烧结机尾端面的现象判断烧结矿FeO的含量。
随着数字图像处理技术的发展,神经网络、专家系统、模糊处理等智能信息技术的成熟,出现了一种新型的检测技术——基于数字图像处理的智能检测技术,并已在许多相关领域取得了令人满意的成果,回转窑内火焰温度的智能检测就是一例[14],对于本课题有借鉴作用。
 
(另起一页,此说明打印时删除)
2. 系统构成与工作原理
本文介绍基于数字图像处理与多元信息融合的瘦肉精快速检测系统的构成与工作原理,给出系统数字图像采集部分的硬件选择与图片文件格式选择方法,探讨系统的关键研究技术。
2.1  瘦肉精猪肉快速检验法
感官检验含有瘦肉精的猪肉具有以下四个方面的特点:
(a)肉色较深而鲜艳;
(b)脂肪层非常薄,往往肉皮紧贴着肌肉,中间无肥肉;
(c)后臀肌肉饱满突出;
(d)骨骼较软,相对同畜龄品种。
2.2  仪器原理框图
本文的目的是采用物理方法对猪肉试样进行检验,模仿人类感官检验专家经验,本项目拟研究、试制一种瘦肉精快速测定仪。仪器利用计算机视觉和取样传感器,对被测试样(猪肉)的肉品颜色、脂肪层厚度、肌纤维形状等进行模糊测定,对骨骼进行定量测定,通过模糊信息与定量信息的信息融合处理,得出被测对象的瘦肉精含量程度,用数值、符号、语音等形式输出观测结果。打印输出可保存试验时间、地点、送检人姓名、检验人员编号、检验结果等记录。
仪器由数字视觉系统、骨骼测定传感器、调理电路、计算机、LCD(液晶)显示、键盘、打印机等组成,如图2.1所示。
2.3  数字视觉系统
数字视觉系统主要完成图像的数字化。用计算机处理的图像必须是数字图像。将一幅图像进行数字化的过程就是生成一个二维矩阵的过程,数字化过程包括三个步骤:扫描、采样和量化。扫描是按照一定先后顺序对图像进行遍历的过程。采样是指在遍历过程中,在图像的每个最小寻址单元即像素位置上量测灰度值,采样结果是获得了图像的数字表示形式。量化则是将采样得到的灰度值通过模数转换等器件转换为离散的整数值。

 

 


图2.1  瘦肉精快速测定仪原理框图
2.3.1  硬件采集设备的选择
视觉系统中的硬件采集设备,通常在数码相机和工业摄像头之间做出选择。两者的成像原理其实没有本质的区别,甚至可以说是完全一样的:使用镜头、光圈等成像系统来聚焦图像,将所得图像聚焦到CCD或CMOS图像传感器(半导体芯片)上,通过扫描产生电子模拟信号,然后经过A/D转换形成电子数字信号,最后以数字文件形式保存在电脑硬盘或其它存储价质上,并在网络上进行传送。目前,两者都已经支持通用串行总线USB(Universal Serial Bus)接口,在传输速率上已经不是问题。
像素值和分辨率是衡量图像质量的两个重要指标。像素值越高,就意味着其产品的解析图像能力越强。分辨率是摄像头或者数码相机辨别图像的能力,在图像处理技术中,有图像分辨率和视频分辨率之分,也可以通俗地解释为静态画面捕捉时的分辨率和动态视频图像捕捉时的分辨率。实际应用中,通常是图像分辨率高于视频分辨率。
早期推出的摄像头产品像素值一般在10万左右,由于技术含量不高,现在基本已被淘汰。当前市场的主流产品像素值一般在30万像素以上。摄像头所能给出的分辨率最高的基本上在640×480这一档上。虽然在某些产品的说明书中出现有更高的分辨率,但是这是利用软件所能达到的插值分辨率(和扫描仪有点类似),虽然说也能适当提高图像的精度,但和硬件分辨率比还是有一定的差距的。
数码相机分辨率的高低,取决于相机中CCD芯片上像素的多少,像素越多,分辨率越高,拍摄出来的数码照片的解析度就越高,照片越清晰。现在500万像素的数码相机已经可以达到2592×1944的分辨率。
鉴于目前摄像头分辨率不高,其主要用于运动实时系统的分析,通过采集连续多帧视频图像比较差异,以得出分析结果。如果要对静止对象的某一细节深究,则可以考虑数码相机,其内置的图像预处理硬件和软件,可以使用户获得较满意的结果。
本系统需要从一幅拍摄到的猪肉图像中提取关于肌肉红色度、脂肪层厚度以及肌纤维形状三方面的特征作为进一步分析的依据,高分辨率的图像是完成准确提取的基本保证,因此拟采用500万像素的数码相机作为系统图像采集设备。
2.3.2  图片文件格式的选择
针对数码相机拍摄到的图像,还要考虑图片的文件格式,所谓文件格式简单地说就是保存计算机数据的方式。现在流行着许多不同的图像格式,它们都有独特的存储数据的方法。有些格式属于专用格式,也就是说只有针对专门相机才使用这种格式处理图像,专用格式有时也被称为本机格式。
下面具体讨论最常使用的存储图像文件格式,以及各自的优缺点:
(1)JPEG格式
JPEG(Joint Photographic Exerts Group)格式的图像通常用于图像预览和超文本文档中。
JPEG格式的优点之一是可以压缩图像数据,保证图像文件比较小。图像文件越小越节省磁盘空间,传输时也就越节省时间。问题是JPEG使用的是有损压缩方案,这就是说有些图像数据在压缩过程中丢失了,每打开、编辑和再保存图像一次,图像就重复被压缩一次,损失也就更多。
如果需要使用JPEG格式保存图像,最好等到图像最后编辑完成再进行保存。在对图像进行处理时,使用本机程序格式或TIFF格式保存图像,这些格式能够保留所有重要的图像数据。只有在完全结束图像编辑之后再保存成JPEG,这种做法只需要压缩图像一次,保证数据丢失限制到最小范围。
(2)GIF格式
GIF(Graphics InterChange Format)格式是Compuserver提供的一种图形格式,在通讯传输时较为经济,它广泛应用于Internet的网页文档中,但它只能是8位图形文件。
GIF和TIFF一样都使用LZW(Lempel-Ziv-Welch)压缩,这样可以减小文件尺寸,而不会丢失任何重要图像数据。GIF的缺点是它局限于保存8位图像(256色或更低),8位图像让人感到它比较粗糙、有斑点。
(3)TIFF格式
TIFF(Tagged Image File Format)的出现是为了便于各种图像软件之间的图像数据交换,支持多种色彩模式,在RGB(Red 红, Green 绿, Blue 蓝)、CMYK(Cyan 青, Magenta 品红, Yellow 黄, blacK 黑)和灰度3种模式下支持Alpha通道。TIFF图像可以在大多数Macintosh和Window程序中打开和使用。
当使用TIFF格式保存图像时,有时需要选择使用LZW压缩。LZW是一种无损压缩方式,在图像压缩时这种方式只废除一些无用的图像数据,所以它不会损失图像质量。然而,这种方式的图像压缩不能像用JPEG压缩方式那样大大降低图像文件的大小。
(4)BMP格式
BMP(Bit Map)图像文件是一种Window标准的点阵式图形文件格式,最早用于微软公司推出的Windows系统。它支持RGB、索引色、灰度和位图色彩模式,但不支持Alpha通道。
考虑到图像高分辨率的要求,而内存大小与处理速度不是主要问题,本系统采用失真最小、支持最好的TIFF格式。
2.4  数字图像处理
对于给定的图像,消除使图像退化的因素,从而使图像的质量得以改善和使畸变得到校正的“图像→图像”的变换,称为狭义的图像处理(image processing)。另一方面把分析给定的图像的结构,并提取其特征做的“图像→描述”的处理过程称为图像分析(image analysis),更深入研究则有图像识别(image recognition)、图像理解(image understanding)等内容[15]。
图像处理可定义为应用一系列方法获取、校正、增强、变换或压缩可视图像的技术,其目的是提高信息的相对质量,以便提取信息;着重强调在图像之间进行的变换。
图像分析主要针对图像中感兴趣的目标进行检测和测量,以获得它们的客观信息,从而建立对图像的描述。它可看作是一个描述过程,主要研究用自动或半自动装置和设备,从图像中提取有用的测度、数据或信息,生成非图像的描述或者表示。图像分析常常依靠某种知识来说明景物中物体与物体,物体与背景之间的关系,利用人工智能技术在分析系统中进行各层次控制和有效地访问知识库正被越来越普遍地采用。图像分析的内容分为图像分割、特征选择和提取、描述等几个部分。
对图像用预先存储的对象物的参照图案(有关对象物的知识)进行匹配,输出符号信息或数值信息的处理,称为图像识别。无论哪一种情形,都是依据输入图像与参照图案的匹配来实现的。
图像理解的重点是在图像分析与识别的基础上进一步研究图像中各个目标的性质和它们之间的相互联系,并得出对图像内容含义的理解以及对原来客观场景的解释,从而指导和规划行动。
除图像恢复技术以外,图像处理技术在很大程度上与图像形成的过程无关。一旦图像已被采集并且已对获取过程中产生的失真进行了校正,那么所有可用图像处理技术本质上是通用的。因此,图像处理是一种超越具体应用的过程:任何为解决某一特殊问题而开发的图像处理新技术或新方法,几乎肯定能找到其他完全不同的应用领域[16]。有鉴于此,本文通过研究林业遥感图像的处理与模式识别过程,提出了对拍摄到的猪肉图像进行处理与分析的简单流程,如图2.2所示。
 
图2.2  图像处理与分析结构图
首先对获得的数字图像信息进行简单预处理,包括灰度校正或规格化、几何畸变的校正、噪声消除等处理;然后将对象从背景中分离,结合测量目的进行特征选择与提取,这也是本系统研究的关键之一;如果有必要,还可以做图像描述方面的工作,例如对于肌纤维形状的测量就要用到形状描述。
由图像所获得的数量是相当大的,为了有效地实现分类识别,就要对原始数据进行变换,得到最能反映分类本质的特征,这就是特征选择和提取过程。
特征选择从一个模式中提取什么特征,将因不同的模式而异,并且与识别的目的方法等有直接关系。通常图像信源特征主要有几何特征、数字特征和结构特征等。特征选择的主要任务是针对给定识别任务,按照预定判别准则,选择那些数量少,对提高正确识别贡献最大的参数作为特征,因而它主要是一个统计优化问题。特征选择的优劣最直接地影响到识别性能。特征选择还应考虑到不变性特征地选取,如图像识别中的尺寸、位置,如旋转不变性的选择[17]。最简单的特征选择方法是根据专家的知识挑选那些对人类最有影响的特征[13],因此在本文中选择肌肉红色度、脂肪层厚度以及肌纤维形状三方面作为区分正常猪肉与含有瘦肉精问题猪肉的主要特征。
所谓特征提取在广义上是指一种变换,即将样本由高维空间变换到低维空间,实际上是对选择出的图像特征如灰度或颜色、形状等属性进行计算或求出图像的特征间的空间关系。
特征提取之前一般要将图像分割成若干有意义区域(潜在目标),区域里的像素与场景中的目标相对应。图像分割首先要将图像目标和背景分割开来,从而知道目标的大致位置。目前已有各种各样的方法,其中简单有效的方法是直方图分割法中的最大距离法(类间方差门限法)。它的基本思想是:在直方图取值范围内,任一灰度级可将直方图分为左右两部分,如果这两部分的灰度均值与总体的灰度均值相距最大,则该灰度级就取为分割门限。图像中凡是灰度值大于分割门限的像点,均认为是背景中的点;反之,则认为是潜在目标区域中的点。这种分割方法可以精确地找到分割门限,提取目标。
2.5  系统研究的关键技术
基于数字图像处理的智能检测技术的关键有两点:一是数字图像处理,包括图像处理与图像分析;二是“智能”,是指用神经网络、专家系统等人工智能方法对图像处理获得的检测信号进行判定,得出检测结论[13]。
上述两方面的工作都由原理框图中的计算机模块来完成。计算机首先对来自数字视觉系统的图像信息做处理,获得关于肌肉红色度、脂肪层厚度以及肌纤维形状三方面测量信息,然后做模糊化处理;利用骨骼传感器对骨骼进行定量测定。然后通过模糊信息与定量信息的融合处理输出检测结果,如图2.3所示。
其中肉品颜色C、脂肪层厚度T、肌纤维形状F、骨骼年龄Y为相关测量信息; 相应的权值;θ为阈值; 称为激发函数或作用函数,一般具有非线性特性,常见的激发函数有阈值型函数、饱和型函数、双曲函数、S函数、高斯函数等[18];R代表输出结果。
 
图2.3  瘦肉精快速测定信息融合处理过程

 
(另起一页,此说明打印时删除)
3. 肉品图像特征选择与提取
对于图像主要完成的是肌肉红色度、脂肪层厚度以及肌纤维形状三方面特征的选择与提取,考虑到含有瘦肉精的猪肉样品暂时难以获得,本文首先研究如何对正常猪肉提取此三方面的特征。如果能够对正常猪肉准确完成特征提取,对于问题猪肉进行测量将只是结果数值上的不同,方法则是一样的。最后要研究的也恰恰是两种样品在数值或者描述上的差异,从而为进一步的信息融合做准备。
考虑到MATLAB在数值分析方面的强大功能,而且其内部集成实用的图像处理工具箱,本文分析主要结合MATLAB 6.5[19]仿真实现。利用MATLAB友好的界面,对图像进行试验,该过程是一个互动的过程,通过反复地交互操作,找出与所选择的原始特征相应的抽象特征;当结果满足要求时,编制程序使得测量过程自动进行。
3.1  基于计算机视觉的肉品颜色判定
当一幅数码照片被MATLAB调入时,在工作空间里可以看到它的RGB矩阵,即关于图像红绿蓝三色的一个三维数组,本文所有的分析也基于此。
作肉品颜色判定实际上是对所得样品各处肌肉的颜色给出一个定量指标,利用RGB矩阵对颜色作分析是再自然不过的事情了。研究发现,对于判定肌肉红色度这点来说,R通道是最主要的影响因素,其它的两个通道在人肉眼见到的不同的红色之间区别不是很明显,执行一条pixval命令后可以很容易看出。所以考虑从RGB矩阵中将R通道单独提取出来作分析。
关于RGB矩阵还要说明的一点是RGB值分别为0~255,都为0时,为黑色,都为255时,为白色。也就是说越靠近白色,R的值会越高,这个知识在下文的分析中会用到。
3.1.1  肉品原始图像的R通道变换
首先调入原始图像,如图3.1所示。再从RGB数组中提取出R通道并显示图像及其灰度直方图分布,分别如图3.2和图3.3所示。
图像的灰度直方图是一个一维离散函数:
                    (3.1)
Sk是图像f(x,y)的第k级灰度值,nk是f(x,y)中具有灰度值Sk的像素的个数,n是图像中像素的总数。由定义式知,P(Sk)给出了对Sk出现概率的一个估计,所以直方图表明了图像中灰度值的分布情况。
 
图3.1  原始猪肉彩色图像
  
    图3.2  R通道猪肉灰度图像                图3.3  R通道猪肉灰度图像直方图
在灰度直方图3.3中,横轴代表灰度值,纵轴代表像素数目,观察得知该图像灰度主要集中在两个区域,一块是灰度值为5的附近,即背景区域;另一块是100~255区域,此即猪肉对象所在区,前文已经提到,越靠近白色,R的值也会越高,因为猪肉中的肌肉呈红色,而脂肪呈白色,所以整体对象都会落在R灰度值较高的区域中。
其实,本文所使用的原始图像背景最初不是黑色的,而是反光的白色钢板背景,也就是说背景像素的R灰度值也有大部分是落在100~255对象所在区间;为了分析方便,在Photoshop里将其背景改换成为了黑色,通过直方图可以看出,这样对象与背景就截然分开了。但是这么做也没有篡改课题,因为依据对仪器硬件结构的构想,必须将测量环境设置成一个封闭、稳定的场所,光源的亮度、高度需要试验研究确定,测量环境的背景当然也要研究对比后才做出选择。既然如此,通过上面的分析完全有理由选择黑色背景,从而轻易将背景与对象分离开来,使问题得以集中在对象内部也即肌肉与脂肪的区分上,同时使测量精度无形中也得到了提高。前文虽然提到最大距离法可以较有效地将对象从背景中分离出来,但那是针对背景不可选择而又复杂的情况,如果背景能够自由设置,问题就简单多了。接下来要做的就是专门提取出肌肉部分所在像素的R灰度值并对其作数值分析,所以首先要研究肌肉与脂肪部分像素的R灰度值落点分布。
3.1.2  脂肪与肌肉R通道的灰度像素点统计
利用impixel命令可确定像素颜色值,它可以由用户交互地选取当前图像上的点。单击鼠标左键可增加点,按下【Backspace】键或【Delete】键删除前面选取的点,按下【Shift】键并单击鼠标左键、鼠标右键或双击鼠标左键可以确定终点,并将所有选择点的RGB值在指定变量中列出。
首先统计肌肉部分像素的R灰度值落点分布。选择图3.1为当前图像,执行impixel命令,利用鼠标在所有肉眼感觉为红色的区域单击选择点,尽可能保证单击点数与所在肌肉面积成正比,单击鼠标右键完成选择;之后对得到的变量提取R灰度值并作排序。按照相同的方法统计脂肪部分像素的R灰度值落点分布,不过这次选择的是所有肉眼感觉为白色的区域。将以上两部分所得到的变量分布利用坐标图像显示出来,如图3.4所示,横轴为经过排序后的像素位次,纵轴表示像素的R灰度值,曲线Ⅰ为脂肪部分像素的R灰度值落点分布曲线,曲线Ⅱ为肌肉部分像素的R灰度值落点分布曲线。
可以看出,两曲线在R灰度值100~140坡度都很陡;在R灰度值140~200曲线Ⅰ有超过70%的点,曲线Ⅱ大约有20%的点;在R灰度值200~255曲线Ⅰ大约有15%的点,而曲线Ⅱ则有超过70%的点在这之间。以上分析表明,在R灰度值100~140之间,肌肉部分和脂肪部分的像素都较少;R灰度值140~200之间的点主要为肌肉部分像素,但是里面也有少量的脂肪部分像素;而R灰度值200~255之间则主要为脂肪部分的像素,不过也夹杂着一些肌肉部分的像素。所以,有必要专门对这三个区间进行单独分析。
 
图3.4  脂肪与肌肉部分像素的R灰度值落点分布曲线
利用区域处理命令roicolor可以按指定的灰度范围设定感兴趣的区域,并作二值图像显示。例如,对图3.2执行roicolor(I,100,140)可以选中所有R灰度值在100~140的区域,其中变量I为红色分量所在的矩阵。选中区域如图3.5所示,之后结合pixval命令对照图3.1,可以分析R灰度值在100~140之间像素的成因。
 
图3.5  R灰度值100~140之间像素
可以看出大约有三块区域位于该区间,对照图3.1可以得知,左上区域为沾有少量血迹的肌肉,右上区域为一部分肌肉的背光部分,最下面的区域为一部分脂肪的背光部分。这表明对肌肉颜色分区间考虑的想法是有一定正确性的,如果在仪器设计时考虑好光照的均匀性,在样品放入之前对肉品含有血迹的部分稍作擦拭,就可以尽量把这些受到干扰的像素都挪移到R灰度值在140以上的区域。
用同样的方法对R灰度值区间140~200和200~255作显示,所得到图像分别如图3.6和图3.7所示。
 
图3.6  R灰度值140~200之间像素
 
图3.7  R灰度值200~255之间像素
分析图3.6可以看出,上面的大块区域即肌肉所在区,而下面的小块区域则是一小条受光照影响以及沾有杂质的脂肪。这同样验证了区间理论,如果调节好光照并对肉品预先擦拭后再放入仪器,可以较有效地去掉脂肪部分对肌肉的影响,使得区间纯净。
分析图3.7可以看出,最上面的一块是受光照比较强的一部分肌肉;中间比较稀疏的一小块则是肉品的大理纹区域,所谓的大理纹也即肌肉中稍沾白的部分,对于它暂时不能采取措施,因为这是肉品的正常现象;最下面的一部分则集中显示了大部分的脂肪。还是假定在光照均匀的情况下,对分析将会更有利。
从以上的分析得知,将肌肉部分所在的像素按R灰度值分区间考虑的想法是可行的。即使在光照不可调的情况下,只要不是光照质量太差,仍然可以在选定区间内得到大多肌肉部分所在像素的R灰度值,满足一定的精度要求。根据前文的结果,把R灰度值140~200作为分析的主要区间。当然区间的上下限值还得商榷,需要经过多幅图片综合分析才能最终确定下来,以使最终的测量误差降到最低。本文只是借此进一步地讨论方案的可行性。
此外,还可以统计在R灰度值140~200大区间内的各个小区间的比例,暂以10为步长,得到各小区间比例,并用柱状图显示如图3.8。其中横轴1、2、3、4、5、6分别对应R灰度值140~150、150~160、160~170、170~180、180~190、190~200小区间,纵轴表示小区间所占的比例。
 
图3.8  红色小区间比例柱状图
图3.9是针对以上描述所做的一个分析图。把R灰度值140~200区间定义为大部分肌肉所在区域称为红区,而把200~240之间定义为大部分脂肪所在区域称为白区,两者在180~200之间有一定的交叉。可以设想一块含有瘦肉精的猪肉所表现出来的区间情况,一种是区域紧缩,也就是红区会缩小,大多肌肉部分像素的R灰度值将集中在更小的范围内;另外一种是区域平移,大多肌肉部分像素的R灰度值都普遍提高一个数目等级。针对这两种情况使用计算大区间均值或是小区间相对比例都可较有效地判别,具体选用哪种方案则要等到对真正含有瘦肉精的猪肉样品分析之后才能下结论,也可能是两方案都用,但也不排除两者全都否定的情况。
 
图3.9  研究区间分析图
以上过程的实现程序可参考附录B。
3.1.3  肌肉颜色自动判定的软件实现
试验是一个互动的过程,而真正的测量则应该是一个自动的过程,也就是要取消人为因素的干扰,可以说试验主要完成地是确定肌肉区间的上下限值,真正要嵌入到系统中完成测量的将只是下文两方案中对应的程序。
方案一:计算红色大区间的均值
I=imread('meat.tif');
R=I(:,:,1);
q0=(R>=140)&(R<=200);
n0=sum(sum(q0));
m=double(q0).*double(R);
av=sum(sum(m))/n0
方案二:分析红色小区间之间的相对比例
I=imread('meat.tif');
R=I(:,:,1);
q1=(R>=140)&(R<150);
n1=sum(sum(q1));
q4=(R>=170)&(R<180);
n4=sum(sum(q4));
pr=n4/n1; %这里假设计算的是像素R灰度值170~180与140~150的相对比例
3.2  基于计算机视觉的脂肪层厚度自动检验
对于图像平面来说,脂肪层厚度对应着宽度。对其进行测量,可以提取多个不同位置处的宽度信息,但是由于各处宽度的不一致性,使得选取具有代表性的位置出现了困难。于是考虑将脂肪层各处的宽度作积分,对应数学上即求得脂肪层的面积,之后利用式(3.2)计算出平均宽度,而且使测量误差也得以减小,不过这对肉品的摆放有一定的要求,下文会进行专门讨论。
                               (3.2)
S表示脂肪层的测量面积,a表示脂肪层的测量长度。
3.2.1  肉品原始图像的灰度图像变换
利用多边形选择命令roipoly可以很容易将所需脂肪层部分提取出来,如图3.10所示。但是这个提取需要人工的参与,必须设计图形用户界面GUI,而且要考虑操作人员的影响,与项目方案中的自动测量要求相违背,所以不得不将它否定。但是这一个尝试,却使结果比较清晰地显示出来,接下来要思考的问题就是如何变互动为自动的提取过程。
首先将原始图像转化成灰度图像,如图3.11所示。注意它与图3.2的区别,图3.2也是灰度图像,但它是提取了彩色图像的一个通道R后形成的,而后者则是将彩色图像整体转化成一幅灰度图像,二者的成因不一样。
 
图3.10  使用多边形选择命令roipoly提取出的脂肪层对象
 
图3.11  原始图像转化而来的灰度图像
之后将所得的灰度图像利用roicolor按灰度作选择提取,使脂肪(包括与脂肪像素灰度相近的其它部分)与肌肉分开,当然对于阈值确定也是一个需要较多试验的过程。选择后的图像如图3.12所示。可以看到图像中的脂肪部分已经清晰显现出来,但却夹杂着许多大小不同的干扰。

 


 
图3.12  灰度选择后的图像
3.2.2  肉品灰度图像去小域处理
利用去小域的方法,将图像中的小干扰去掉。这里用到一条很有用的命令bwareaopen,它可以将二值图像中低于指定像素的区域滤掉,从而使图像变得简单、干净,如图3.13为bwareaopen以512作为阈值所得到的图像。
 
图3.13  去小域后的图像
可以看出,去小域之后原图像中的对象就变得简单了,接下来则要考虑如何去掉大对象的干扰。通过对象标记,可以知道在上图存有6个单独的对象,并将其一一显示出来(具体过程可参看附录C)。由于求取面积采用 bwarea命令,其结果是对当前操作的二值图像所有前景色求面积,对于图3.13,只有最下面的两块区域对本文的分析有意义,须将其它的对象都排除掉之后,才能使感兴趣的对称为唯一的前景色。去掉大对象的干扰可以采用判据将不符合要求的对象剔除掉。
3.2.3  肉品脂肪层的自动识别方法
这里需要对肉品的摆放做一定的要求。为了在得到面积之后,较准确地从长度得到宽度,就必须要求肉品摆放尽量与底边平行;而为了建立一个选择对象的准则,可以要求肉品摆放时脂肪层总是朝向固定。这两个要求很容易达到,属于比较简单的操作内容。
建立判据有以下几种思路:
(1)认为在所有对象中,面积最大的一块区域就是脂肪层所在的区域。但是这种想法有些牵强,实际的肉品情况很复杂,如果是一块带有骨头或是油层比较大的的肉,则有可能脂肪层的面积不是最大的,从而予以否定。
(2)根据肉品摆放的要求,可以比较各个对象纵坐标下限值,认为最靠近底边的那一个对象即是脂肪层所在的区域。仔细观察上图可以发现,靠近底边的实际上有两块区域,一块较大而另一块则较小,如果是其中的小区域纵坐标下限值最大(图像从上而下纵坐标值依次增加),程序就会选择它,但是它明显不具有代表性,会使测量结果失真较大。这里再说明一下为什么会有两块区域靠近底边,对照附录A彩色原图可以看出,实际上两块都是脂肪,但是由于两者之间存在一个刀口,致使该区域受光不足,导致在经过灰度选择等操作后将刀口两边脂肪给分开了。虽然可能在比较好的光照条件下,刀口部分受光会充足,二者不会分开,从而利用上面的判据可以准确提取出所需对象,考虑到仪器的容错性,还是应该设计更好的判据方案。
(3)针对利用纵坐标下限值比较的不足,可以考虑利用对象的纵坐标中心线进行判断。首先找到纵坐标下限值最大的对象,对它求中心线,得到一个值;然后将其它对象的纵坐标下限值与这个值做比较,如果某对象的纵坐标下限值比这个中心线的值大的话,就应该将这个对象也选上。利用该判据,对于图3.13可以准确地将最下面的两个对象都提取到,不论它们是哪个的纵坐标下限值更大些。但是,对于其它的图像会不会也同样准确呢?观察图3.13右边中间的那段区域,如果它的纵坐标下限值再大一些,而最下两个对象的中心线再高出一些,仍然会有些问题。虽然从一幅图像上来看好多情况不太有可能,但还是需要为仪器的准确度做最周密的考虑。
(4)既然在二值图像中难以将对象十分准确判断出来,何不选择灰度图像!二值图像图3.13与灰度图像图3.11的坐标是一一对应的,从二值图像中可以得到各小区域的纵坐标下限值,将它带入到灰度图像中去,如果给定一个参考值,使每个对象的纵坐标下限值都增加一个相同的量,然后再观察这个被改动坐标处的像素值,那么由靠近底边的区域改动所得到的像素值应该是背景的灰度值,而由其它区域所得到的则会是样品上其它部分的灰度值。在研究颜色的时候已经讨论过,黑色背景与对象的灰度值有很明显的差别,事实上的确如此,对图3.11运行pixval命令可以看出,理想背景的灰度值为1,而样品上的任何部位灰度值也不会低于50,所以设置阈值为30,便可以十分准确地将所需的对象判断出来。图3.14和图3.15为采用该判据提取出的对象。
3.2.4  肉品脂肪层厚度的计算
对象提取出来之后,它们的面积就可以通过bwarea命令马上算出,要得出宽度值还需要知道长度值。测量长度就是计算区域像素横坐标上限与下限的差值,对图3.14和图3.15两区域通过提取像素横坐标并将其按升序排列,则序列首尾分别与像素横坐标上、下限值相对应,从而各单独区域的长度就确定下来了。
对于总面积,应该把提取出来的两对象的面积求和,但是把这两部分长度相加作为总长度的做法却不是十分合适。对照图3.13可以看到,其实两者的长度是有一定交叠的,这取决于刀口的走向。必须要把重复的那段减去,可以用对象2横坐标的上限值减去对象1横坐标的下限值作为总长度,从而使问题得以解决。但是如果刀口是垂直的,采用上述的办法则会使所得到的长度比真实值要大,这时就应该采用将两部分长度相加作为总长度的做法。在程序中可以通过比较对象1横坐标的上限值与对象2横坐标的下限值来确定究竟使用哪种求取长度的算法。如果对象1横坐标的上限值大于对象2横坐标的下限值,则应该采用对象2横坐标的上限值减去对象1横坐标的下限值来作为总长度的算法;反之,则应采用两段长度相加作为总长度的算法。最后将得到的面积与长度相除即可求得脂肪层厚度的值。
值得指出的是,针对上面所分析的图像,由于存在刀口的问题,使得程序在细节方面做了不少考虑。但是对于一次有效的测量却不能允许有过多的刀口,因为刀口本身已经使得脂肪层的厚度产生失真,如果对照原始图像,用看图软件的放大命令观察,可以很容易看出。

 
图3.14  采用灰度值判据提取的对象1
 
图3.15  采用灰度值判据提取的对象2
综上所述,大多情况下不存在刀口,检测出来的脂肪对象只有一个,只要用相应面积除以长度即可求出厚度值;如果存在一个刀口,也就是检测出来两个脂肪对象时,可以通过前文所述算法给出厚度值;但当出现两个或两个刀口以上,也就是检测出来的脂肪对象的数目为3个或3个以上时,系统就应该给出提示信息,建议更换样品;当然还有另外一种情况,就是系统检测不到对象,这时一般是肉品摆放位置不正确。可以对上述情况通过建立标志ch来分类判断,图3.16为系统循环和判断部分的流程图。
3.2.5  脂肪层厚度自动检测的软件实现
仿照肌肉红色度自动测量过程,本文也给出实现脂肪层厚度自动测量的程序。
A=imread('meat.tif');
B=rgb2gray(A);
C=roicolor(B,155,250);
D=bwareaopen(C,512);
[L,num]=bwlabel(D);

S=0;
ch=0;
for n=1:num
[r,c]=find(bwlabel(D)==n);
M=[r,c];
p=sort(r);
p=find(r==p(end));
q=M(p(1),:);
q(1)=q(1)+30;
f=B(q(1),q(2));
if(f<30)
m=bwselect(D,c,r);
figure,imshow(m);
ch=ch+1;
S=bwarea(M)+S;
z=sort(c);
Z(ch,:)=[z(1),z(end)];
end
end
if(ch==1)
a=Z(2)-Z(1);
end
if(ch==2)
if(Z(3)>Z(2))
a=Z(4)-Z(1);
else
a=(Z(3)-Z(1))+(Z(4)-Z(2));
end
end
b=S./a;
if(ch==0)
...
else
...
End
3.3  肌纤维饱满程度描述
对于肌纤维的测量,得到的结果应该是关于形状的一种描述,这涉及到模式识别的内容。根据对象图形或分类、识别的需要,可以定义各种各样的形状特征。在这里介绍一些在实际中经常采用的、具有代表性的特征[20]。
(1)面积、周长、复杂度
图形的面积,可以简单地通过对属于这个图形像素数进行计数来求出;另一方面,周长则可以通过对图形边界点像素的个数进行计数来求出。另外,测量图形形状的复杂度时,其特征量常采用下式的复杂度。
                                 (3.3)
L表示图形的周长,S表示图形的面积。当图形的形状接近于圆形时,e趋近于最小值( );反过来,图形的形状变得越复杂,e的取值也会变得越大。
(2)凹凸性
连接图形任意两个像素的线段,如果不通过这个图形以外的像素,则称这个图形为凸。对于任意一个图形,把包含它的最小凸图形称为这个图形的凸包。很显然,凸图形的凸包就是它本身。从凸包中除去原始图形后的部分所形成的图形的位置和形状,将成为形状特征分析的重要线索。
(3)矩特征
在图形中的形状特征中重要的有矩特征。这一特征一般可利用下式中定义的(p+q)次的矩M(p,q)来计算:
                            (3.4)
{fij}是在图形内取1,在图形外取0的二值图像。
根据(p,q)的组合能计算各种各样的特征量,但下面的两种特征量是最常采用的。
重心(Ic,Jc):(表示图形的中心位置)
                             (3.5)
                             (3.6)
主轴方向 :(图形的伸展方向;对下式求解能得到)
                (3.7)
 表示主轴方向与水平线的夹角。
(4)傅立叶描述符
把表示封闭曲线的周期函数用傅立叶级数展开,根据从中得到的展开系数能表示这个封闭曲线的特征,这样的展开系数称为该封闭曲线的傅立叶描述符。为了求图形的傅立叶描述符,只需把根据边界线跟踪算法求出的图形的边界线,用某一周期函数来表示并进行傅立叶展开即可。
下面给出封闭曲线的傅立叶描述符的例子。
设封闭曲线上的某一点A为始点,沿着曲线前进长度为l处时的点的切线的偏角为 。当沿着曲线搜索并返回到始点时, 就成为从始点的偏角 开始变化到 的函数,把它称为偏角函数。
若设曲线的全长为L,则有 。在这里,根据下式:
                             (3.8)
定义的函数 成为周期L的周期函数,称为正规化偏角函数。正规化偏角函数能进行如下的傅立叶级数展开:
               (3.9)
{ak}和{bk}为表示 即原来的封闭曲线形状的特征量。在这里,封闭曲线的大致形状可通过{ak},{bk}的低次项来表现,而局部的形状变动可通过{ak},{bk}的高次项(K较大的项)来表现。另外,若已知{ak},{bk}和始点处的偏角 ,则可以完整地复原原来的封闭曲线。
对于用边界线跟踪算法求出的图形的边界线,可以认为它表示多边形。对于多边形的傅立叶展开系数,可按下述方式求出。
设多边形的顶点为 ,则到达第k个顶点时的长度(各边之和)为
                   (3.10)
偏角函数为
                      (3.11)
                (3.12)
因而可对 进行傅立叶展开来计算展开系数。
(5)其它的图形特征量
与图形的连接性有关的特征量(欧拉数,连接成分数,孔数),有时也用来表示该图形的整体的性质。此外,还有图形的幅宽、占有率以及图形的直径等特征量。
通过以上特征量,可以对肉品肌纤维的形状给出描述,具体选择哪几个特征量,还有待于进一步的深入试验、比较。因为毕业设计时间有限,本文暂未深入该方面的内容,考虑到系统的完整性,故在此只略提之。
 
(另起一页,此说明打印时删除)
结束语

 
(另起一页,此说明打印时删除)
参考文献
[1] 中国农业信息网. 三种伪劣、病毒猪肉的识别[DB/OL]. http://www. agri.gov.cn/kjtg/ syjs/t20031120_138859.htm,2008-11-20.(数据库(网上)模板)
[2] 朱自强. 超临界流体技术[M]. 北京:化学工业出版社,2007.(中文书籍专著模板)
[3] NY/438-2001. 饲料中盐酸克伦特罗的测定——高效液相色谱法和气相色谱-质谱测定法[S].(国际、国家标准模板)
[4] B.Kuster, P.Mortensen P, JS.Andersen, et al. Mass spectrometry allows direct identi-fication of proteins in large genomes[J]. Proteomics, 2006, (1): 641-650.(不带卷号的英文期刊模板)
[5] M.Machnik, H.Geyer, S Homing, et al. Long-term detection of clenbuterol in human scalp hair by gas chromatography-high-resolution mass spectrometry[J]. Journal of Chroma-tography, 2007, 7(23): 147-155.(带卷号的英文期刊模板)
[6] NY/T468-2001. 动物组织中盐酸克伦特罗的测定——气相色谱-质谱法[S].
[7] A.Stuart. Analysis of ginkolides and btobalides by capillary electrophoresis[J]. Liquid Chromatography, 1999, 18(14): 28-55.
[8] Carsten JahnWolfgang Schwack. Determination of Cutin-Bound Residues of Chloro-thalonil by Immunoassay[J]. J.Agr.Food Chem, 2001, 49(3): 1233-1238.
[9] 毕业论文孔繁德. 用竞争性酶联免疫技术检测活猪盐酸克仑特罗残留[J]. 福建畜牧兽医,2007, (4): 6-8.(不带卷号的中文期刊模板)
[10] 季芳. 盐酸克伦特罗(瘦肉精)残留检测研究进展[DB/OL]. art_jygl/ShowArticle.asp?ArticleID=3693, 2004-9-13.
[11] 中国食品检测网. 国产瘦肉精检测试剂盒及试纸问世[DB/OL]. , 2004-9-11.
[12] 农牧发[2001]38号. 猪尿中克伦特罗检测方法——酶联免疫吸附测定法[S].
[13] 滕召胜. 智能检测系统与数据融合[M]. 北京: 机械工业出版社, 2000.
[14] 刘毓敏. 数字图声信息处理技术[M]. 北京: 科学出版社, 2003.
[15] Peter Bergstrom. Eye-movement-controlled transform image coders [J]. Signal Pro-cessing: Image Communication, 2003, 18(3): 115-125.
[16] Pohl C and VAN GENDERN J L. Multisource image fusion in remote sensing [M]. Int. J. Remote Sensing, 1998.(英文书籍专著模板)
[17] 易继锴, 侯媛彬. 智能控制技术[M]. 北京: 北京工业大学出版社, 1999.
[18] 飞思科技产品研发中心. MATLAB 6.5辅助图像处理[M]. 北京: 电子工业出版社, 2003.
[19] 田村秀行编, 金喜子, 乔双译. 计算机图像处理[M]. 北京: 科学出版社, 2004.
[20] 孔繁德. 用竞争性酶联免疫技术检测活猪盐酸克仑特罗残留[J]. 福建畜牧兽医,2007, 5(4): 6-8.(带卷号的中文期刊模板)

参考文献以近三年的为主,数量不少于30篇,其中英文文献不少于10%,此说明打印时删除。
 
(另起一页,此说明打印时删除)
致  谢
经过三个月时间的设计,从原先对项目的一无所知到现在对基本框架和某些细节达到比较清楚的程度,其间不少人在不同方面给了我许多无私的帮助,在此真诚地向他们说声谢谢。
首先感谢我的指导老师滕召胜副教授。感谢滕老师认真倾听我的问题,感谢他对我意见的尊重,更感谢老师的耐心指导以及真诚的鼓励。
感谢万佳超市王师傅的帮助指导!几次拜访王师傅,都得到了热情招待和耐心讲解,为我们提供了样品拍摄的良好条件。
感谢杨海师兄、刘和师兄!
感谢SIT小组的四位同学!大家在一起的争论使我对项目研究方案、研究细节有了更多更好的把握;感谢黄盛同学提供的帮助,不经意的一句话,使我的设计研究少走很多弯路;感谢同寝室的易瑜同学,是他每天都不厌其烦地听我有关项目进展的描述,生活中的朋友也是我学业的好伙伴。
最后,谨以此文献给我挚爱的父母以及所有关心帮助过我的亲人和朋友!


                                                 作者:(手签)

                                                    2009年X月X日
 
(另起一页,此说明打印时删除)
附录1  猪肉样品图像

 
图A1  猪肉样品原始图像
 
附录2  肌肉红色度判断仿真程序
I=imread('meat.tif');
R=I(:,:,1);
figure,imshow(I);
figure,imshow(R);
figure,imhist(R);
figure (1);impixel
r=ans(:,1)
r=sort(r)
x=1:1:size(r)
figure,plot(x,r),grid on;
figure (1);impixel
w=ans(:,1)
w=sort(w)
y=1:1:size(w)
figure,plot(y,w),grid on;
figure,plot(x,r,y,w),grid on;
BW=roicolor(R,100,140);
figure,imshow(BW);
figure (1),pixval('on');
BW=roicolor(R,140,200);
figure,imshow(BW);
figure (1),pixval('on');
BW=roicolor(R,200,240);
figure,imshow(BW);
figure (1),pixval('on');
q0=(R>=140)&(R<=200);
n0=sum(sum(q0));
q1=(R>=140)&(R<150);
n1=sum(sum(q1));
p1=n1/n0;
q2=(R>=150)&(R<160);
n2=sum(sum(q2));
p2=n2/n0;
q3=(R>=160)&(R<170);
n3=sum(sum(q3));
p3=n3/n0;
q4=(R>=170)&(R<180);
n4=sum(sum(q4));
p4=n4/n0;
q5=(R>=180)&(R<190);
n5=sum(sum(q5));
p5=n5/n0;
q6=(R>=190)&(R<=200);
n6=sum(sum(q6));
p6=n6/n0;
 
n=[n0;n1;n2;n3;n4;n5;n6];
p=[p1;p2;p3;p4;p5;p6];
figure,bar(p);
 
附录3  脂肪层厚度检验仿真程序
A=imread('meat.tif');
figure,imshow(A);
B=rgb2gray(A);
figure,imshow(B);
C=roicolor(B,155,250);
figure,imshow(C);
D=bwareaopen(C,512);
figure,imshow(D);
[L,num]=bwlabel(D);
[r,c]=find(bwlabel(D)==1);
M=bwselect(D,c,r);
figure,imshow(M);
[r,c]=find(bwlabel(D)==2);
M=bwselect(D,c,r);
figure,imshow(M);
[r,c]=find(bwlabel(D)==3);
M=bwselect(D,c,r);
figure,imshow(M);
[r,c]=find(bwlabel(D)==4);
M=bwselect(D,c,r);
figure,imshow(M);
[r,c]=find(bwlabel(D)==5);
M=bwselect(D,c,r);
figure,imshow(M);

如果您有论文代写需求,可以通过下面的方式联系我们
点击联系客服

提交代写需求

如果您有论文代写需求,可以通过下面的方式联系我们。