最近一直在自学matlab,也仅仅在网上看了些基础教学视频,还是想从实例中学点东西。从网上找到了下面这本书,照着书中给了代码,自己做了GUI界面,想把做的过程中遇到的困难写下来。
**刘衍琦,詹福宇,蒋献文,周华英. 《MATLAB计算机视觉与深度学习实战》.电子工业出版社.2017.6**
书中只给了关键位置的核心代码,因此第一个遇到的问题是如何通过菜单导入图片。
网上搜索一开始找到了uigetdir这个函数,但写下来运行发现这个函数只能打开文件夹。之后才找到原来还有uigetfile这个函数,不过用的时候没有看说明,该函数返回[file,path],file为文件名,path为路径。我一开始以为如果打开的是图片的话,file就会是高维数组,直接导入图片的RGB数据。╭(′▽`)╯好蠢。
使用imread时也有点小问题,图片不再当前路径下需要写下图片的完整路径,使用path加file即imread([path,file])即可。
程序为:
[file,path] = uigetfile('*.jpg','选择图片');%打开图片
handles.I=imread([path,file]);
guidata(hObject, handles);
第二个问题是,如何把书中给的核心代码,写到gui的.m文件中。
一开始我想的是,直接把函数写进.m文件中,让回调函数调用就行。(确实可以这样,我后来才想起来,函数的输入会自动赋值给定义函数时的()里写的参数。)这样的话输入变量就要用global来产生全局变量,而想要用全局变量就得在每个函数里再次声明。。。
总之经过这一尝试后,没能成功运行&#