APP下载

基于计算机图形学的植物果实轮廓特征差异性检验

2022-07-12孙丽君曾祥潘吴俊杰

中国信息技术教育 2022年13期
关键词:科学实验数据分析

孙丽君 曾祥潘 吴俊杰

摘要:本实验利用计算机图形学开展科学实验,抽取两组样本,获取数据进行分析,对植物果实轮廓特征进行差异性检验,以验证对样本数据存在差异的假设。让学生体验如何利用计算机解决这一类生活中的实际问题。

关键词:差异性检验;科学实验;轮廓特征;数据分析

中图分类号:G434  文献标识码:A  论文编号:1674-2117(2022)13-0073-03

“橘生淮南则为橘,生于淮北则为枳,叶徒相似,其实味不同。”这句话出自《晏子使楚》。那么,橘与枳的外表轮廓是否也存在显著的差异性呢?这就需要进行差异性检测,可以利用计算机图形学开展科学实验,获取数据进行分析,以检测事物的差异性。差异性检验可以用于检测两组小样本数据之间是否存在显著差异,如检测南方人和北方人身高是否存在差异性、检测两所学校中学生成绩是否存在差异性等。

本实验研究在已经检验了植物果实投影面积正态分布的基础上,进一步抽取两组小样本,进行轮廓特征的差异性检验。首先将OpenCV使用在Python中,进行植物果实图像处理,完成轮廓特征数据的采集,然后利用R语言进行两组植物果实轮廓特征数据的差异性检验,让学生体验如何利用计算机解决生活中的这一类实际问题。

● 设计思路

本实验以樱桃不同的种类为研究样本,把它们分为两组进行差异对比,这两组分别是:大红樱桃和大黄樱桃之间、小樱桃中随机抽取的两组样本之间。通过日常对樱桃的了解,可以假设大红樱桃和大黄樱桃存在一定的差异,而小樱桃间假设没有明显差异。下面,通过实验来验证前面的假设。

首先,利用OpenCV获取不同种类的樱桃的轮廓特征、投影面积和宽高比;其次,利用R语言对两组样本进行数据分析,并绘制统计图,检验样本间的差异性,验证假设。

● 实验准备

不同种类的樱桃小样本(小样本数量一般以30为界,不超过30的为小样本,本实验准备的是大红樱桃、大黄樱桃各30枚,小樱桃60枚),装有Python、R语言的计算机,源代码等文件。

● 实验过程

1.采集样本

当下正值樱桃上市的季节,而且樱桃品种多样,因此其成为首选样本。要将不同种类的樱桃利用计算机进行差异性检验,就要将样本数字化。这里像本栏目上期文章中做正态分布检验一样,首先要对样本进行拍照,这是一个比较耗费时间和体力的工作,但样本的位置、摆放角度还有拍摄环境等都是需要注意的细节,这样才能获取真正有价值的数据。

先将图片导入到计算机,再利用图像处理软件进行批量操作,如裁切、调整大小等,最后按照不同分类统一重命名,以备使用。

2.提取特征

使用OpenCV可以查找图像轮廓的不同特征,如面积、周长、宽高比等。通过绘制图像轮廓,提取图像特征,计算各类樱桃的投影面积和宽高比。

(1)计算投影面积

计算樱桃的投影面积,相当于识别它的“大小”,计算方法大体与本栏目上期文章中计算小番茄面积方法一致,需要先将图片进行灰度化和二值化处理,然后通过获取连通域绘制樱桃的轮廓,最后通过图像轮廓计算得到图像的面积。代码如图1所示。

这里需要注意的是,在计算大黄樱桃投影面积时,需要更改cv2.threshold()中的参数,颜色阈值127改为155,才可以准确识别大黄樱桃的轮廓面积。

(2)计算宽高比

计算樱桃轮廓的宽高比,相当于识别它的“胖瘦”,在OpenCV中可以通过在找到的图形外围绘制外接矩形边框的方法(如图2),计算宽高比。通过函数cv2.boundingRect()获取轮廓的范围,返回外接矩形的四个参数——x,y,w,h,其中(x,y)是矩阵左上角坐标,w,h为矩阵的宽和高,并用函数cv2.rectangle()画出矩形。最后,计算出边界矩形的宽高比,即樱桃的宽高比。代码如图3所示。

(3)导出数据

导出数据的过程也与前面文章中导出投影面积数据的步骤相似,通过在Python中导入xlwt庫,创建不同的工作表,将投影面积数据和宽高比数据分别批量自动记录到不同的工作表中,种类设置大红樱桃为R,大黄樱桃为Y,小樱桃1组为LA,小樱桃2组为LB。代码如图4所示。

● 数据分析

要比较两组小样本数据是否存在差异性,可以使用R语言来进行检验,并绘制图像,进行直观分析。

1.差异性检验

这里首选T检验,它用于检验两个样本总体均值是否一致,适用条件是小样本、数据服从正态分布、方差齐性。因此,在做T检验前,首先要对两组小样本进行正态性检验和方差齐性检验。本栏目上期文章中用实验验证过植物果实投影面积等特征是符合正态分布的,在这里对小样本数据将再次验证。

①正态性检验。在导入数据后,通过Shapiro-Wilk进行正态性检验,分别对大红樱桃和大黄樱桃(简称RY)的投影面积和宽高比进行检验,对两组小樱桃样本(简称LALB)也进行正态性检验。对RY投影面积数据的正态性检验,运行代码结果如图5所示。

由图5可知,两个p-value均大于0.05,说明两组数据均符合正态分布。经检验,所有样本的轮廓特征数据均符合正态分布。

②方差齐性检验。方差齐性检验是对两样本方差是否相同进行的检验。这里将使用F检验来检验方差齐性,可以使用var.test()函数来完成,对RY投影面积的方差齐性检验,运行结果如图6所示。

在F检验中,p-value=0.7072>0.05,因此认为RY两组数据的方差之间没有显著差异。经检验,所有样本的轮廓特征数据总体满足方差齐性。

③T检验。两组数据独立,呈正态分布,且满足方差齐性,因此可以使用T检验来进行两组数据的差异性检验。通过函数t.test()实现差异性检验,如RY投影面积的检验如图7所示。

p-value=1.133e-07<0.05,说明RY的投影面积有显著差异,且经检验,宽高比p-value=0.02105<0.05,同样说明RY宽高比有显著差异。而两组小樱桃LALB的差异性检验结果,投影面积p-value=0.8612>0.05,宽高比p-value=0.3749>0.05,验证假设:大红樱桃和大黄樱桃的两个轮廓特征数据有显著差异,两组小樱桃间的轮廓特征数据没有显著差异。

3.绘制组间差异柱状图

柱状图是差异可视化的一种表现形式,这里用R语言来绘制组间差异柱状图,主要使用的是功能强大的R包ggplot2来实现。在导入ggplot2包后,读入样本数据,通过ggplot()函数开始绘制图层。从柱状图可以直观看出,两组数据资料间存在显著差异。组间差异柱状图为差异性检验提供了一种可视化方法。

● 总结

本实验在Python中使用OpenCV加工处理图像,获取多组植物果实的轮廓特征,并导出数据资料。在此基础上,使用R语言进行数据分析,对小样本数据进行组间的差异性检验,以此验证问题假设。

猜你喜欢

科学实验数据分析
在科学实验教学中培养学生的观察能力
部分小学生科学实验能力现状及对策
我国发射世界首颗量子科学实验卫星“墨子号”
新常态下集团公司内部审计工作研究
浅析大数据时代对企业营销模式的影响
基于读者到馆行为数据分析的高校图书馆服务优化建议
小小科学实验
为革命搞科学实验