如何利用MATLAB提供GUI界面实现数字图像处理系统的设计
在MATLAB用户界面GUI上设计一个操作简单、功能齐全的数字图像处理技术的集合,对于一些对数字图像处理原理不懂的用户也能够根据自己的需求处理处自己想要的数字图像。本系统GUI界面设计两个显示界面: 一个原数据界面,一个是处理结果界面显示,能够很好的展现数字图像处理结果。每一个功能的实现都是按钮代替了每一步复杂的数字图像处理过程。
1. 主要包含两个步骤,分别如下:
- 数字图像处理系统的MATLAB GUI设计
GUI人机交互界面从上到下的,程序设计从下到上的原则来实现本课题的数字图像处理系统的功能集合。
- MATLAB GUI人机交互界面的功能函数设计研究
实现本系统对处理图像的读取和保存、撤销和还原、图像剪切、图像反色、图像旋转等修剪。设计GUI人机交互界面实现对图像添加噪声、图像滤波、边缘检测等处理功能的程序。
- 最终实现界面如下所示
2. 以下附上本科时代学习笔记
#基于matlab的图像处理系统设计
1、设计目的
利用matlab的GUI程序设计一个简单的图像处理系统,可以实现图像的简单的运算操作,实现图像的剪切、旋转、滤波、放缩等功能,进一步熟悉matlab语言。
2、设计要求
设计程序有以下基本功能:
- 图像的读取和保存;
- 图像剪切;
- 图像发色;
- 添加噪声:椒盐噪声,乘性噪声,高斯噪声等;
- 图像的边沿检测;
- 图像滤波:实现平滑滤波,锐化滤波;
- 图像的旋转;
- 实现图像操作的撤销和还原;
- 最后完成整个系统完整,退出系统。
3、设计的matlab数字图像处理系统框架
该GUI界面包含两个显示界面axes1和axes2。包含读取图像、椒盐噪声,乘性噪声,高斯噪声,保存图像,退出系统,剪切图像,图像反色,滤波,旋转,撤销和还原等按钮,构成了这个系统的框架。运行之后的界面显示如下:
4、GUI各个模块功能的实现
4.1、图像的读取
利用matlab的uigetfile获取图像的路径,msgbox窗口函数提示选择图像失败,imshow对图像的显示。
global s %定义全局变量,为了后面的还原保存数据
[filename,pathname,filterindex]=...
uigetfile({'*.*';'*.bmp';'*.tif';'*.png';'*.jpg';'*.jpeg'},'select picture'); %选择图片路径
str=[pathname filename]; %合成路径+文件名
s=str;
handles.filebig=filterindex;
if filterindex==0
msgbox('选择图像失败!','error');
return
else
im=imread(str); %读取图片
end
axes(handles.axes1); %使用第一个axes
imshow(im); %显示图片
handles.img=im;
guidata(hObject,handles);
4.2、图像的保存