菜鸟学Matlab(2)

经过这几天的“奋战”,真的是废寝忘食啊,接口环境基本上已经搭建成功!VC和Matlab的串口,Matlab的视频采集框架都已OK,基于此的数据采集,数字信号处理,数字图像处理都进行了!

下面是调试Matlab的视频采集和串口遇到的一些问题:

Matlab 串口:有3种处理方式(M, simulink,toolbox)

纠结了很久的一个问题:显示乱码,,开始始终以为是数据类型的问题,

后来发现原来是在算数据位的时候算错了!!

开始一直没有显示,以为 是其他程序的原因,一直纠结,后来发现是最根本的问题,打开串口都 错了,一个疏忽,调试的时候一个地方没改过来,一切要开始从根慢慢 找Bug

matlab使用多个toggle按钮 早上起来终于知道这个了,原来多个不能

放在同一个button group 里面,否则达到的效果就是单选,即一个按钮 按下去,其他会全部弹上来

axes坐标图

http://blog.csdn.net/hustspy1990/article/details/4664996

用MATLAB中的comet函数出动态图

str2num(S(:))’将字符串转换成数组

如何使用MATLAB进行USB2.0摄像头的编程

http://blog.renren.com/share/304992101/7618043741

关于matlab中的waitbar

http://blog.csdn.net/yihandk666/article/details/6900596

如果matlab在运行需要很长时间的程序,或者是要循环很多遍的时候,

用户就不知道程序运行到了什么地方了。每次输出循环变量i是一个办法

,但太丑陋了。Matlab提供了waitbar函数。

简单运行如下: h = waitbar(0,’Please wait…’); n = 1000; for i

= 1:n pause(0.01) % Do something important0, waitbar

(i/n,h) end

这个函数有三个缺点: 1. 没有显示完成的百分比 2. 没有显示剩余

完成时间 3. 中途无法关闭waitbar

有人改进了这个函数[http://blinkdagger.com/matlab/matlab-gui-

tutorial-progress-status-bar/](http://blinkdagger.com/matlab/matlab-gui- tutorial-progress-status-bar/)

clear all; n = 1000;

for i = 1:n stopBar= progressbar(x/n,0); if (stopBar)

break; end end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%% progressbar需要两个输入变量,第一个,完成百分比,第二个,位

置。

[x, y] - Position of lower left corner in normalized units

(0.0 - 1.0)

0 - Centered (Default)

1 - Upper right

2 - Upper left

3 - Lower left

4 - Lower right

5 - Random [x, y] position

另外还可以去

[http://www.mathworks.com/matlabcentral/fileexchange/22161-

waitbar-with-time-estimation](http://www.mathworks.com/matlabcentral/fileexchange/22161- waitbar-with-time-estimation) 这里可以下载到另一个版本的waitbar

h = waitbar(0,’Please wait…’); n = 1000; % progressbar %

Create figure and set starting time for i = 1:n pause(0.01)

% Do something important0, waitbar(i/1000,h) end

这个版本的一个问题就是,当中途关闭waitbar时,会有错误提示。推荐 使用第一个版本的。

?? Multiple VIDEOINPUT objects can not access the same device 

simultaneously.

你是不是用了多个摄像头插在USB接口上的? 而且你的是通过USB Hub接

出来的,matlab没有办法识别通过Hub分解出来的地址,所以认为出现你

的问题,你换一个独立的USB接口就可以了,如果你本身电脑商独立USB

接口比较少就没有办法了??当然电脑集成的多个USB接口也有可能是通

过Hub来扩展的。

http://www.ilovematlab.cn/thread-12034-1-1.html

实在没法,重启Mtlab,由于有时候编程的不规范导致有些资源一直被占用,没有释放,从而会出现一些莫名其妙的Bug!特别是用一些设备的时候(串口,USB。。。)