基于matlab的图像处理内容摘要:

MATLAB 环境下,用 MATLAB 语言编写的,这对于有安装 MATLAB 软件的计算机上运行并不存在什么问题,关键是一般的计算机很少有去安装 MATLAB 软件的,那么要在这些机子上运行该程序要怎么办呢,难道要先安装 MATLAB 软件,这显然太麻烦了 ,对于一个通用的,比较成熟的解决方案,我们当然期望它能应用到更多的场合,而 .exe (可执行)文件可运行于所有的通用 WINDOWS 操作系 统,为此,将 M 文件转换成 .exe 文件倒是个不错的想法。 通过查找资料,了解到 在生成可执行性文件之前,需要进行一系列编译环境方面的配置: 要将用 Matlab 语言编写的函数文件编译成可独立执行的 *.exe 文件 (即可脱离 Matalab 环境的执行程序 ),首先要安装和配置好 Matlab Compiler,一般来说,在安装 Matlab 时就已经安装了相应版本的 Matlab Compiler。 只是不同版本的Matlab,其编译器的使用方法有一定的差异,这一点要引起一定的注意。 在确定安装好 Matlab Compiler 后,还需要对 Compiler 进行适当的配置,方法是在 Matlab 命令窗口输入: Mbuild –setup 然后根据提示执行相应的操作,使用者可根据自己计算机中现有编译器的情况选择合适的编译器,如 VC++ 、 VC++、 Bland C 的编译器等,目前 Matlab好象还不支持 VC++(我计算机安装的就是 VC++2020, Matlab 就无法识别 )。 当然,如果你的计算机里根本就没有安装其他任何语言的编译器,也可选择Matlab 自带的 Lcc 编译器,其实这个编译器对大多数用户已经够用 了 (我就是选择的 Matlab 自带的 Lcc 编译器 )。 配置好编译器后,自然就是对自己编写的 M 文件进行编译了。 将 M 文件编译为独立可执行文件的语法是: mcc –m ….. 其中 fun1 就是最后的可执行文件的名称。 通过本次课程设计,使自己对 MATLAB GUI 设计流程有了比较深刻的体会, 17 同时也了解了一般软件设计的过程。 在设计过程中碰到了很多的问题,通过这些问题,使自己分析问题,解决问题的能力得到了较大的提高。 九、 参考文献 【 1】 郑阿奇,曹戈,赵阳 .MATLAB 实用教程 [M].北京:电子工业出版社 【 2】 程卫国,冯峰,姚东,徐听 . 应用指南 [M].北京:人民邮电出版社 【 3】 陈杨 .MATLAB 图像编程与图像处理 [M].西安:西安电子科技大学出版社 十、 附录 function varargout = two(varargin) % Begin initialization code DO NOT EDIT gui_Singleton = 1。 gui_State = struct(39。 gui_Name39。 , mfilename, ... 39。 gui_Singleton39。 , gui_Singleton, ... 39。 gui_OpeningF39。 , @two_OpeningF, ... 39。 gui_OutputF39。 , @two_OutputF, ... 39。 gui_LayoutF39。 , [] , ... 39。 gui_Callback39。 , [])。 if nargin amp。 amp。 ischar(varargin{1}) = str2func(varargin{1})。 end if nargout [varargout{1:nargout}] = gui_mainf(gui_State, varargin{:})。 else gui_mainf(gui_State, varargin{:})。 end % End initialization code DO NOT EDIT % Executes just before erzhi is made visible. function two_OpeningF(hObject, eventdata, handles, varargin) % This function has no output args, see OutputF. 18 %接下来是菜单的程序 function file_Callback(hObject, eventdata, handles) %文件打开程序 function open_Callback(hObject, eventdata, handles) [name,path]=uigetfile({39。 *.bmp39。 },39。 载入图像 39。 )。 if isequal(name,0)|isequal(path,0) errordlg(39。 没有选中文件 39。 ,39。 出错 39。 )。 return。 else x=imread([path,name])。 axes()。 imshow(x)。 =x。 =x。 guidata(hObject,handles) end function save_Callback(hObject, eventdata, handles) %文件保存 [filename,pathname] = uiputfile(39。 *.bmp39。 ,39。 图片保 存为 39。 )。 if isequal([filename,pathname],[0,0]) errordlg(39。 没有保存 39。 ,39。 出错 39。 )。 return。 else file=strcat(pathname,filename)。 ()。 i=getimage(gca)。 imwrite(i,file)。 end function exit_Callback(hObject, eventdata, handles) clc。 close all。 close(gcf)。 %编辑菜单的程序 function edit_Callback(hObject, eventdata, handles) function huidu_Callback(hObject, eventdata, handles) %灰度处理 axes()。 if isrgb() y=rgb2gray()。 %RGB imshow(y)。 else msgbox(39。 这已经是灰度图像 39。 ,39。 转 换失败 39。 )。 end function liangdu_Callback(hObject, eventdata, handles) %亮度处理 prompt={39。 输入参数 139。 ,39。 输入参数 239。 ,39。 输入gamma39。 }。 defans={39。 [0 ]39。 ,39。 [0 1]39。 ,39。 139。 }。 p=inputdlg(prompt,39。 输入参数 39。 ,1,defans)。 p1=str2num(p{1})。 p2=str2num(p{2})。 p3=str2num(p{3})。 gamma=p3。 x=()。 y=imadjust(x,p1,p2,gamma)。 axes()。 imshow(y)。 function jietu_Callback(hObject, eventdata, handles) %截图 set(,39。 HandleVisibility39。 ,39。 ON39。 )。 axes()。 y=imcrop()。 imshow(y)。 =y。 function fangda_Callback(hObject, eventdata, handles) function lingjz_Callback(hObject, eventdata, 19 handles) %邻近插值放大 axes()。 prompt={39。 输入放大倍数 :39。 }。 defans={39。 239。 }。 p=inputdlg(prompt,39。 输入放大倍数 39。 ,1,defans)。 p1=str2num(p{1})。 y=imresize(,p1,39。 nearest39。 )。 %最近邻插值法放大 imshow(y)。 function shuangxianfa_Callback(hObject, eventdata, handles) %双线放大 axes()。 prompt={39。 输入放大倍数 :39。 }。 defans={39。 239。 }。 p=inputdlg(prompt,39。 输入放大倍数 39。 ,1,defans)。 p1=str2num(p{1})。 y=imresize(,p1,39。 bilinear39。 )。 %最近邻插值法放大 imshow(y)。 function shuangsanci_Callback(hObject, eventdata, handles) %双三次放大 axes()。 prompt={39。 输入放大倍数 :39。 }。 defans={39。 239。 }。 p=inputdlg(prompt,39。 输入放大倍数 39。 ,1,defans)。 p1=str2num(p{1})。 y=imresize(,p1,39。 bicubic39。 )。 imshow(y)。 function suoxiao_Callback(hObject, eventdata, handles) %邻近插值缩小 axes()。 prompt={39。 输入放大倍数 :39。 }。 defans={39。 39。 }。 p=inputdlg(prompt,39。 输入放大倍数 39。 ,1,defans)。 p1=str2num(p{1})。 y=imresize(,p1,39。 nearest39。 )。 %最近邻插值法 缩小 imshow(y)。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。