2.编写mexfunction函数。mexfunction函数为C语言与MATLAB语言的接口函数。调用实例在mylinedetect.c文件中镇咐.在MATLAB中调用mex指令编译相关文件,将C语言编译为MEX文件。
3.编译完成后,生成mylinedetect.mexw32或mylinedetect.mexw64文件,此文件即mex文件,用于MATLAB与C语言接口函数.
4.编译完成之后,编写MATLAB函数,调用MEX文件。以MEX文件的形式调用编译完成的C语言函数[o1,o2]=mylinedetect(double(X).')......
5.输出结果,上述linedetect函数完成图像中直线消信检测功能,带入MATLAB中调用后形成结果。
在MATLAB中,可以使用sprintf来格式化输出变量。
MATLAB的sprintf用法几乎和C中的printf一样,参数都是哪租printf(FORMAT,A,...),MATLAB的sprintf会返回一个字符串,当不使用李拦兆分号时,可以直接在屏幕输出。
MATLAB的sprintf语法为[s, errmsg] = sprintf(format, A, ...),可以把矩阵A做数据格式的转换,格式就是format参数。
例子:
Str = [65 66 67 pi]
sprintf('%s %f', Str)
可得:
ans =
ABC 3.141593
MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集衡逗成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
mov = mmread('answer.avi')%读入视频VFrames = size(mov,1)%读取视频的帧数 总之呢,就是你的VFrames的值宏芦有问题啊。。。
for k =1 : VFrames
strtemp=strcat('D:\隐核Documents\MATLAB\frames\',int2str(k),'灶绝掘.','jpg')
imwrite(mov(k).frames(k).cdata(:,:,:),strtemp)
end
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)