利用window API实现matlab屏幕抓取函数

豆豆网   技术应用频道   2007年07月21日  【字号: 收藏本文

内容摘要:结合如何用window API实现matlab屏幕抓取函数,介绍了在matlab中如何利用matlab与C/C++的接口,调用操作系统API,扩展matlab功能。

  摘要 :结合如何用window API实现matlab屏幕抓取函数,介绍了在matlab中如何利用matlab与C/C++的接口,调用操作系统API,扩展matlab功能。

  引言

  MATLAB 产品家族是美国 MathWorks公司开发的用于概念设计,算法开发,建模仿真,实时实现的理想的集成环境。由于其完整的专业体系和先进的设计 开发思路,使得 MATLAB 在多种领域都有广阔的应用空间。

  尽管MATLAB在科学研究以及工业技术开发方面有着极为广泛的应用,但是它也不是万能的。在某些场合下,MATLAB自身携带的函数及其组合并无法完全满足用户的要求,而必须通过调用操作系统的API函数来实现。MATLAB在设计时已经考虑到这点,为我们提供了mex命令,可用于将调用操作系统API函数的C程序编译成DLL文件,也就是MEX文件,使之成为MATLAB的一个扩展函数。这样,我们在MATLAB环境下编程时就可以直接调用该扩展函数,达到间接调用操作系统API函数的目的。本文将通过如何为MATLAB编写屏幕抓取函数来演示上述过程。

  MEX接口

  MEX是MATLAB Executable的缩写,也就是可以在MATLAB中执行。这是MATLAB和其他主要编程语言如C/C++,FORTRAN的接口。普通的C/C++或是FORTRAN源程序,只要加上一个特殊的接口函数,就能通过MATLAB里的MEX命令编译成一种特殊的动态链接库函数,而这种函数可以在MATLAB环境下编程时直接调用,与MATLAB内嵌的函数一样。这个特殊的接口函数相当于C程序中的main函数,是程序的入口,程序的执行就是从这个入口函数开始的。其原型为

  void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])

  其中,参数nlhs和nrhs为输出和输入变量的数目,参数plhs和prhs为输出和输入变量指针的指针,prhs是长度为nrhs的输入变量的指针数组,plhs是长度为nlhs的输出变量的指针数组。

来源:vckbase    作者:陈祖尚    责编:豆豆技术应用

正在加载评论...