数字图像处理大作业GUI设计
1 简介
《数字图像处理》是一门多学科交叉的前沿课程,Matlab是教学中的常用软件,传统的基于命令行或者脚本文件的编程方法教学直观性较差.为此,以Matlab提供的图形用户编程界面(GUI)对图像处理教学演示系统进行设计.首先给出系统框架,并介绍了数字图像处理中的常用方法,其次应用GUI建立算法测试平台,给出具体实例.结果表明,利用GUI平台进行数字图像处理教学,界面友好,直观性强,具有较强的开放性,能够激发学生的兴趣,提高学习效率,效果良好.
2 部分代码
function varargout = GUI(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @GUI_OpeningFcn, ...
'gui_OutputFcn', @GUI_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
function GUI_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);
function varargout = GUI_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
% 载入图像
function pushbutton1_Callback(hObject, eventdata, handles)
[fname,pname,index]=uigetfile({'*.jpg';'*.bmp'},'选择图片');
global c;
if index
str=[pname fname];
c=imread(str);
axes(handles.axes1);
imshow(c);
axis off
end
% 亮度变换
function pushbutton2_Callback(hObject, eventdata, handles)
global c;
prompt={'输入参数1[low_in high_in] ','输入参数2 [low_out high_out]','输入gamma'};
defans={'[0 0.7]','[0 1]','1'};
p=inputdlg(prompt,'输入参数',1,defans);
p1=str2num(p{1});
p2=str2num(p{2});
p3=str2num(p{3});
gamma=p3;
x=(c);
y=imadjust(x,p1,p2,gamma);
axes(handles.axes1);
imshow(y);
% 保存变换结果
function pushbutton11_Callback(hObject, eventdata, handles)
[filename,pathname] = uiputfile('*.jpg','图片保存为');
if isequal([filename,pathname],[0,0])
errordlg('没有保存','出错');
return;
else
file=strcat(pathname,filename);
(handles.axes1);
i=getimage(gca);
imwrite(i,file);
end
% 恢复原始图像
function pushbutton12_Callback(hObject, eventdata, handles)
global c;
imshow(c);
3 仿真结果
4 参考文献
[1]林森, 陶志勇, 张沛泓,等. 数字图像处理GUI设计及在教学中的应用[J]. 科技与创新, 2018(3):3.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。
数字图像处理大作业GUI设计相关推荐
- 数字图像处理——大作业 基于车道信息的违法车辆车牌识别
数字图像处理--大作业 基于车道信息的违法车辆车牌识别 一.车牌识别研究现状与分析 二.车牌识别算法原理 2.1 车牌定位 2.1.1 基于RGB阈值的车牌区域初定位 2.1.2 基于数学形态学的车牌 ...
- 基于Matlab的交通限速标志的识别系统 数字图像处理大作业
本大作业为基于Matlab的交通限速标志的识别系统, 考虑到在科技发展的今天,智能汽车行业发展迅速,所以交通限速标志的快速检测及识别对车辆的安全行驶极为重要,因此本系统可以检测到图中的交通限速标志并对 ...
- matlab数字图像处理大作业_线上教学优秀案例(16) | 数字图像处理基于蓝墨云+企业微信的线上教学经验分享...
[前言]目前我校在线课堂教学如火如荼,老师们在各大教学平台化身"直播高手""网课达人"倾心打造精彩课堂,有效保证了在线学习与线下课堂教学质量实质等效.为进一步推 ...
- 数字图像处理大作业实验报告
<数字图像处理> 期末大作业 班 级:数字媒体技术2020级1班 姓 名:快乐的小蓝 学 号:XXXXXXXXX XXXX大学信息学院 目录 一.任务描述 二.设 ...
- MATLAB数字图像处理 大作业:人脸表情识别
一.课程设计任务 运用已掌握的知识以及查阅相关资料,设计方案能够识别人脸表情中的高兴.厌恶.生气.悲伤.面无表情这五类表情. 二.课程设计原理及设计方案 2.1整体原理 本系统是基于PCA算法的人脸特 ...
- 数字图像处理大作业-BMP文件的读写
数字图像处理-BMP文件的读写 一.题目背景 二.灰度BMP的读写 1.读入lena.bmp文件 1.1 编写打印文件头信息与信息头数据的函数 2 通过文件内容得到灰度bmp数据信息 2.1 打印信息 ...
- 数字信号处理大作业——基于matlab R2019a的男声变女声资料汇总与代码
@数字信号处理大作业--基于matlab R2019a的男声变女声资料汇总与代码 概述 参考了很多前人的资料,发现很多函数已经过时了,而且从我通过VIP下载的代码来看,代码的逻辑不是很清晰,废话也多, ...
- 用matlab实现女声变男声步骤,数字信号处理大作业——基于matlab R2019a的男声变女声资料汇总与代码...
@数字信号处理大作业--基于matlab R2019a的男声变女声资料汇总与代码 概述 参考了很多前人的资料,发现很多函数已经过时了,而且从我通过VIP下载的代码来看,代码的逻辑不是很清晰,废话也多, ...
- matlab编写fie滤波器,数字信号处理大作业mdash;mdash;基于matlab R2019a的男声变女声资料汇总与代码...
@数字信号处理大作业--基于matlab R2019a的男声变女声资料汇总与代码 概述 参考了很多前人的资料,发现很多函数已经过时了,而且从我通过VIP下载的代码来看,代码的逻辑不是很清晰,废话也多, ...
- HTML期末大作业课程设计~动漫游戏官网10个页面(HTML+CSS+JavaScript)
HTML期末大作业课程设计动漫主题html5网页~动漫官网html模板(HTML+CSS) ~个人设计web前端大作业 临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大?HTML网 ...
最新文章
- C/C++训练1---最大公约数与最小公倍数_JAVA
- rest framework 序列化
- JTable 失去焦点时取消编辑状态
- 机器学习算法 随机森林学习 之决策树
- oracle 后台进程管理,Oracle background processes后台进程
- ASP.NET母版页和内容页之间如何互相传值?
- 无根树的同构:Hash最小表示法(bzoj 4337: BJOI2015 树的同构)
- Atitit 从api的使用区分工程师级别 高级 中级 初级工程师常使用的api与框架类库 目录 1. 初级工程师使用的api和框架类库ssm	1 2. 中级工程师常使用的api和框架类库	1 3.
- node mysql 事件循环_nodejs事件和事件循环详解
- Mac Sublime Text 3插件安装
- newifi mini锐捷校园网路由器配置教程
- 手把手教你Mac重装系统不再难:苹果电脑重装系统教程
- 域名DNS解析找到ip
- 中国猫道系统市场趋势报告、技术动态创新及市场预测
- FontAwesome 字体图标库 使用
- 油价涨涨涨 有车一族省油妙招也不断翻新
- 动态规划求最大工作价值(java实现)
- Latex--将参考文献号设为上标,并加方括号!
- hdu-6130-Kolakoski
- 自定义画圆进度条,带波浪动态效果