APP下载

果蔬冻干含水率监测的MATLAB GUI设计

2012-04-25李晓斌郭玉明

关键词:冷冻干燥冻干控件

李晓斌,郭玉明

(山西农业大学 工学院,山西 太谷030801)

冷冻干燥技术能充分保持农产品原料的营养成分和活性物质,保持原有的天然色泽、风味和形态,复水性好,深受人们的喜爱。我国特色农产品资源丰富,品种多,质量好,价格低,若利用冷冻干燥加工技术对特色农产品进行加工开发,对农民增收和农业产业化发展有重要意义。为此,本文以Matlab GUI为工具,开发一套果蔬冻干图像特征值提取系统,对冻干过程中物料含水率进行实时监测,及时了解冻干状态,控制冻干工艺。

Matlab是当今应用较广泛的科学计算软件之一,它具有强大的矩阵计算、符号运算和数据可视化功能。同时也提供了图形用户界面(GUI)的设计和开发功能,界面友好,直观易懂,用户只需要用鼠标或键盘来激活相应控件,就能实现预定的功能[1,2]。

1 设计路线

以土豆在真空冷冻干燥过程中表面颜色变化的序列图像为研究对象,利用Matlab GUI实现图像输入与显示、图像特征值提取与显示、数据保存和含水率曲线绘制等功能,其总体技术路线如图1所示。

2 Matlab GUI开发

2.1 界面总体设计

图1 技术路线Fig.1 The route of design

调整布局区大小,在GUI对象选择区布置5个按钮(Push Button)、3个轴对象(Axes)、8个静态文本(Static Text)、8个 LED ActiveX Control和4个按钮组(Button Group)等对象,并摆放于合适位置[3]。其中,3个Axes控件用于显示GUI读入的原始图像和图像特征值曲线图;4个LED ActiveX控件用于显示图像特征值和物料含水率,剩余1个LED ActiveX控件用于显示系统的当前时间;8个Static Text控件用于说明ActiveX控件和相关坐标轴的名称。界面设计结果如图2所示。

图2 界面设计结果Fig.2 The designing results of interface

2.2 图像输入与显示

利用uigetfile函数,设置选择的图片类型为jpg或bmp,并将其放在一个单元数组中,即{'*.jpg';'*.bmp'},设 置title为 “选 择 图 片 文 件”;string为“读入图像”。用if…end结构实现 Windows环境下的图片选择,并用imread和imshow函数将图片显示于axes1中[3~5]。如图3所示。

图3 原始图像Fig.3 Original image

2.3 图像特征值提取与显示

在对象选择区点击ActiveX控件,选择4个七段数码LED控件放于图2所示位置,编写如下回调函数(Callback)实现图像特征值提取与显示:

其中,w2为物料(土豆)含水率,它与图像R值、G值和B值的关系模型需预先确定。

ActiveX控件的部分属性为:

Digits:7

On Color:[255 255 255]

Back Color:[000]

R、G、B值显示结果如图4所示。

图4 R、G、B值检测结果Fig.4 Detecting results of RGB values

2.4 数据保存

用get函数得到 R、G、B和 w2(handles.activex)的value值,将[R G B w2]这四个值用xlsread函数写入目标文件中,从而实现数据保存,便于后续数据处理和分析。

2.5 曲线图绘制

曲线图绘制主要是把2.4中存储的数据用曲线或点展示出来,以便实时、直观地表达物料含水率变化趋势。Axes2和Axes3分别用于展示图像R、G、B特征值和物料含水率随时间的变化规律。二者均采用默认属性值。在该Button的回调函数里编写如下代码:

利用Matlab的plot函数,就能实现系统数据的直观展示。

2.6 系统退出

程序运行完毕后要求能及时退出系统,因此就该Button而言,其回调函数应考虑Switch…case…end结构[6]。即:

出现提示对话框后,点击“Yes”就能退出系统,点击“No”则返回界面,“No”是默认值。

2.7 当前时间显示

为便于试验时间观察和记录,因此设置LED ActiveX9控件显示系统时间,其属性值为:

另外,在界面的Opening函数内添加如下代码:

并编写t_update定时器函数:

function t_update(obj,eventdata,handles)

最终实现系统时间显示。

2.8 mcc编译

对于设计好的界面,需用mbuild-setup命令安装编译器,根据命令窗口提示安装好后,在命令行输入:

mcc-m huiyilunen

Matlab开始编译,编译完成后,在 Matlab默认的路径下能找到独立的exe可执行文件,最终使程序脱离 Matlab环境也可运行[3,7,8]。

3 结论与展望

(1)Matlab GUI是实现人机交互的中介,具有强大的功能,将VC++引入,同Matlab一起实现混合编程,不仅可以完成许多复杂的程序模块,而且还将大大提高程序的执行效率和灵活性。

(2)程序本身缺乏一定的自动处理能力,在后续的研究中应考虑如何实现真空冻干物料含水率的实时监测问题,使Matlab GUI为降低冻干能耗和揭示冻干规律提供必要的技术支持。

[1]秦襄培.Matlab图像处理与界面编程宝典[M].北京:电子工业出版社,2009:571-611.

[2]陈华,蔡光兴.基于 Matlab/GUI的 RSA密码演示系统[J].计算机与现代化,2009(7):60-63.

[3]罗华飞.Matlab GUI设计学习手记[M].北京:北京航空航天大学出版社,2009:271-302.

[4]孙祥,黄晓鸣.基于 Matlab的集成化图像处理系统[J].科学技术与工程,2007,7(20):5386-5388.

[5]全星慧,范武君,张华.基于 Matlab的数字图像处理课件设计[J].计算机与现代化,2008(7):70-73.

[6]蔡恒恩.基于 Matlab/GUI处理喷雾图像的研究[D].西安:长安大学,2009:18-40.

[7]张烨.播种性能指标统计计算的 GUI界面系统开发[J].农机化研究,2005(4):236-237.

[8]宋节保,段柳云,王莹,等.基于 Matlab GUI软件制作方法的研究与实现[J].电子设计工程,2010,18(7):54-56.

猜你喜欢

冷冻干燥冻干控件
疫苗的泡沫冷冻干燥工艺分析
冷冻干燥法制备稻壳灰基二氧化硅气凝胶及其改性研究
地黄真空冷冻干燥工艺的优化
关于.net控件数组的探讨
HPLC法测定注射用清开灵(冻干)中6种成分
真空冷冻干燥技术在生物制药方面的应用
《猪瘟高免血清冻干粉的初步研究》图版
ASP.NET服务器端验证控件的使用
嗜酸乳杆菌NX2-6冻干发酵剂的研究
香蕉冻干加工的水蒸气扩散系数