matlab中动态绘图并保存为视频的小例子
如题,多的就不说了,先上一个效果:




每隔0.1秒,绿色的直线转动一个角度。
再看看代码如何实现:
fuction main
clear;
clc; %%%%%%%%%%%%%%%%%%%%%%%%%%主函数%%%%%%%%%%%%%%%%%%%%%%%%%%%
bTimeStep = 0.1; %%重绘时间间隔
bSaveAVI = 1; %%是否将重绘过程保存到视频文件
initDegree = 0; %%初始位置,位于零度角
if bSaveAVI
aviname = input('input the file name for avi: ','s');
aviobj=avifile(aviname); %定义一个视频文件用来存动画
aviobj.quality=60;
aviobj.Fps=5;
end r = 1; %%背景图中圆的半径
DrawBackGround(r); %%画背景
hold on;
[xcoor,ycoor] = GetCorrByDegree(r, TransDegToRad(initDegree)); %%画初始位置,零度角
x = [0 xcoor];
y = [0 ycoor];
h = plot(x,y,'g-'); degreeStepForTest = 20;%%用于测试用的角度增量
for sita = initDegree+degreeStepForTest:degreeStepForTest:360
[xcoor,ycoor] = GetCorrByDegree(r, TransDegToRad(sita)); %%获取当前的角度对应的坐标
x = [0 xcoor];
y = [0 ycoor];
set(h,'XData',x,'YData',y); %%重置绘图对象
drawnow; %%重绘 if bSaveAVI
frame=getframe(gca); %把图像存入视频文件中
im=frame2im(frame);
aviobj=addframe(aviobj,im);
end pause(bTimeStep); %%暂停间隔
end if bSaveAVI
aviobj=close(aviobj); %%关闭视频文件句柄
end %%%%%%%%%%%%%%%%%%%%%%%%%%子函数%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function radian = TransDegToRad(degree)
%%将角度转换为弧度
radian = degree * pi / 180; function [x y] = GetCorrByDegree(R, Degree)
%%根据角度和半径计算当前点的坐标
x = R * cos(Degree);
y = R * sin(Degree); function DrawBackGround(r)
%%%画背景图
x = linspace(-r,r,1000);
y1 = sqrt(r^2-x.^2);
plot(x,y1,'b-'); %%画上半圆
hold on;
y2 = -sqrt(r^2-x.^2); %%画下半圆
plot(x,y2,'b-');
axis square; plot([0 0],[-r r],'b-'); %%画纵直径
plot([-r r],[0 0],'b-'); %%画横直径
axis off;
hold off;
注释写的很详细,不多说了。
matlab中动态绘图并保存为视频的小例子的更多相关文章
- 【Matlab开发】matlab中bar绘图设置与各种距离度量
[Matlab开发]matlab中bar绘图设置与各种距离度量 标签(空格分隔): [Matlab开发] [机器学习] 声明:引用请注明出处http://blog.csdn.net/lg1259156 ...
- 我的Android进阶之旅------>Android视频录制小例子
============================首先看看官网上关于视频捕捉的介绍================================ Capturing videos Video ...
- java中的String类的不可变性的小例子
在java语言中,String类具有不可变性,即常量字符串不可更改.下面的一个小例子简单演示相关概念. public class test { public static void main(Stri ...
- 详细解读Android中的搜索框(一)—— 简单小例子
这次开的是一个讲解SearchView的栏目,第一篇主要是给一个小例子,让大家对这个搜索视图有一个了解,之后再分布细化来说. 目标: 我们先来定个目标,我们通过搜索框来输入要搜索的联系人名字,输入的时 ...
- Matlab中如何用命令方式保存图像?
命令很简单,例如下面这个代码将当前图像保存到F1.emf文件中,保存格式为emf saveas(gcf,'F.emf','emf'); 当然了,也可以保存为jpg格式,修改为: saveas(gcf, ...
- 在开发环境中,自己搭建一个ssl环境(小例子)
做项目的时候自己总结的一些小例子 public class Test { public static void setSSLProperty() { Security.addProvider(new ...
- matlab中图片数据类型转换uint8与double
matlab中处理图像像素点数据: img1=double(imread('lenna.bmp')); matlab中imshow图片,要先转换成uint8: subplot(1,2,1),imsho ...
- 在AutoLyout中动态获得cell的高度 和 autoLyout中的小随笔
autoLyout中动态获得cell的高度和autoLyout小总结 一.在autoLyout中通过动态的方式来获取cell 的方式呢? 1. 在布局时候要有对于cell中contentV ...
- matlab中如何将视频保存成图像
利用MATLAB将视频的每一帧保存成一幅图像,并自动命名.本文方法简单,容易学习. 首先,读入视频.代码如下: mov = VideoReader('xxxxxx.avi'); % 将xxxxxx.a ...
随机推荐
- 【HDU】1536 S-Nim
http://acm.hdu.edu.cn/showproblem.php?pid=1536 题意:同nim...多堆多询问...单堆n<=10000,每次取的是给定集合的数= = #inclu ...
- FMS发布视频流H.264如何设置
FMS这个话题由来已久,H.264这个编码格式也由来已久.FMS不叫FMS了,改叫AMS了.因为是Adobe. 今天就说说flash发布流媒体视频,以H.264编码出现的问题.在网上找,大把的关于as ...
- 最好的文本框样式 最漂亮的文本框样式 textbox css样式
输入框景背景透明: <input style="background:transparent;border:1px solid #ffffff"> 鼠标划过输入框,输入 ...
- 关于webdriver中弹出框的定位
对于webdriver中弹出框的定位,需要引入这个包: import org.openqa.selenium.Alert; 具体语句为: Alert alert= driver.switchTo(). ...
- jquery输入框按下回车提交表单
jQuery on()方法是官方推荐的绑定事件的一个方法 $('#password').on('keydown', function(e) { // 短路语法,当e.keyCode == 13成立的时 ...
- Defining custom settings in Odoo
Unfortunately Odoo documentation doesn’t seem to include any information about adding new configurat ...
- CMD中常用命令
打开CMD的几种方法: 搜索一下 1: 打开我的电脑,在地址栏输入该地址后按回车键打开:C:\WINDOWS\system32\cmd.exe 2: 打开我的电脑,进入C盘WINDOWS\system ...
- 测试常用SQL注入语句大全
转载自Cracer,标题:<渗透常用SQL注入语句大全>,链接http://www.xxxx.com/?p=2226 1.判断有无注入点 整形参数判断 1.直接加' 2.and 1=1 3 ...
- 2016HUAS暑假集训训练2 F - A Simple Problem with Integers
Description 给出了一个序列,你需要处理如下两种询问. "C a b c"表示给[a, b]区间中的值全部增加c (-10000 ≤ c ≤ 10000). " ...
- 实验一Java开发环境的熟悉
实验一Java开发环境的熟悉 实验内容 •命令行下Java程序开发 •IDEA下Java程序开发.调试 •练习(通过命令行和Eclipse两种方式实现,在Eclipse下练习调试程序) •实现凯撒密码 ...