13
3.4灰度处理
灰度处理。灰度处理的界面如图4所示。灰度处理就是把一副彩色图像变成一副黑白图像,如打开一副图像,再按“彩色转灰色”按钮 ,则可以把一副彩色图像变成一幅灰白图像“保存灰度图”选项可以保存灰度图。“直方图”选项就是显示一副灰度图的直方图。灰度调整选项:灰度调整就是对灰度图进行分段的线性变换,
其可以有选择地拉伸某段灰度区域,改善输出图像,用户可以通过“比例调整” 的滑块对灰度值范围进行线性调整,通过选择“增强”或“减弱”来确定灰度上限或下限,以此来对灰度图像进行对比增强或减弱处理。通过对gama 调整选项 :灰度调整就是对灰度图进行分段的线性变换。
14
结 论
这就是基于MATLAB的水果图像识别的算法全过程,图像经过选择性的灰度提取,边缘检测,降噪和滤波等预处理,通过基于形态学的图像开闭与重建操作实现了图像中每个水果个体的最大分离为之后的前景背景对象的标记起到铺垫,最后通过分水岭图像分割算法得到最优的图形分割最终完成了图像中水果个数的统计。
算法虽然以水果的图像作为特例分析,但是该算法充分利用了MATLAB平台所提供 的函数的便捷性和可扩展性,对于大部分球状水果都可以通过修改灰度化特征提取的特 征参数来锁定所要分析水果的颜色特征,通过修改该小波去噪和中值滤波的参数来优化 特定硬件环境下的图像预处理算法,通过修改基于形态学的图像开
闭操作的se参数来实现对不同大小和不同形状特征的水果的个体分离。是由于该算法设计时间有限,因此有许多考虑不周的地方。本课题方法可以扩展图像识别的应用领域,并且为水果识别提供一个可靠的辅助,省去繁琐的人工采样和识别,提高劳动效率。将来通过算法的优化和改进,提高精度获取更多的水果信息,能够更好的满足水果流通的需求。
15 参考文献
[1] 陈宇云. 灰度图像的边缘检测研究[D]. 电子科技大学硕士学位论文. 2009 [2] 朱虹. 数字图像处理基础[M]. 北京: 科学出版社. 2005.4:217-220 [3] 余成波. 数字图像处理及MATLAB实现[M]. 重庆: 重庆大学出版社. 2003.7:356-359
[4] 陈书海,傅录祥. 实用数字图像处理[M].北京: 科学出版社. 2005:280-290 [5] 张晶. 图像边缘检测算法的研究[D]. 山东大学硕士学位论文. 2006 [6] 韩磊 .MATLAB在数字图象处理中的应用[J]. 电脑知识与技术. 2008,1(1):29-31
[7] 卢洋,张旭秀.图像边缘检测算法的对比分析与研究[J]. 太原科技. 2009,(3):17-18
[8] 熊秋菊,杨慕生. 图像处理中边缘检测算法的对比研究[J]. 机械工程与自动化. 2009,(2)21-23
[9] 尹建媛. 图像处理中边缘检测算法的研究[J]. 科技信息. 2008,(4):30-32 [10] 李雪. 灰度图像边缘检测算法的性能评价[D]. 沈阳工业大学硕士论文 .2007
[11] 范立南, 韩晓微, 王忠石等. 基于多结构元的噪声污染灰度图像边缘检测研究[J]. 武汉大学学报(工学版), 2003,49(3):45-49
[12] XU Xian-ling,LIN Yi-shui.Application of MatLab in Dingital Image Processing[J]. MODERN COMPUTER. 2008,(5):35-37
[13] LV Yu-qin,ZENG Guang-yu.Detection Algorithm of Picture Edge[J]. TAIYUAN SCIENCE & TECHNOLOGY. 2009,(2):24-25
附录:
edge函数调用格式: BW=edge(I,’method’)
BW=edge(I,’method’,thresh)
Bw=edge(I,’method’,thresh,direction) [BW,thresh]=edge(I,’method’,?) 缘检测程序程序代码:
function varargout = apple(varargin) % APPLE M-file for apple.fig
16 % APPLE, by itself, creates a new APPLE or raises the existing
% singleton*. %
% H = APPLE returns the handle to a new APPLE or the handle to % the existing singleton*. %
% APPLE('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in APPLE.M with the given input arguments. %
% APPLE('Property','Value',...) creates a new APPLE or raises the % existing singleton*. Starting from the left, property value pairs are
% applied to the GUI before apple_OpeningFunction gets called. An % unrecognized property name or invalid value makes property application
% stop. All inputs are passed to apple_OpeningFcn via varargin. %
% *See GUI Options on GUIDE's Tools menu. Choose \one
% instance to run (singleton)\%
% See also: GUIDE, GUIDATA, GUIHANDLES % Copyright 2002-2003 The MathWorks, Inc.
% Edit the above text to modify the response to help apple % Last Modified by GUIDE v2.5 22-Apr-2010 13:52:17 % Begin initialization code - DO NOT EDIT gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @apple_OpeningFcn, ... 'gui_OutputFcn', @apple_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1}); end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else
gui_mainfcn(gui_State, varargin{:}); end
% End initialization code - DO NOT EDIT
% --- Executes just before apple is made visible.
function apple_OpeningFcn(hObject, eventdata, handles, varargin)
相关推荐: