主要内容

从图像采集Explorer导出代码

图像采集的探险家app允许你生成一个MATLAB®实时脚本,其中包括您当前在应用程序中的设备和采集配置出口按钮在应用程序工具条中选择生成快照脚本生成记录脚本.这两个选项都创建并打开一个实时脚本,其中包含应用程序中当前设备配置的代码。您可以根据应用程序的需要编辑和保存生成的实时脚本。

导出部分及其在图像采集资源管理器中的选项

  • 生成快照脚本Option创建并打开一个实时脚本,该脚本包含用于连接到设备、配置其属性、捕获单个帧和查看捕获图像的快照的代码。

  • 生成记录脚本选项创建并打开一个实时脚本,该脚本包含用于连接到设备、配置其属性、记录帧和查看录制的视频的代码。

连接和配置

生成的实时脚本包含以下用于连接和配置的部分,其代码与以下示例类似。

  • 连接到设备—创建到所选和指定设备的连接视频格式使用videoinput函数。

    v = videoinput (“winvideo”, 1“YUY2_1280x720”);
  • 配置设备属性-定义您在应用程序中选择的设备属性,包括颜色空间传感器校准,感兴趣的区域.如果不编辑这些参数中的任何一个,则此部分不在实时脚本中。

    v.ReturnedColorspace =“rgb”
  • 配置特定于设备的属性文件中指定的设备特定属性设备属性如果你没有对这些参数做任何更改,这个部分就不在实时脚本中。

    src = getselectedsource (v);src。风险= 1;

生成快照脚本

如果您选择生成快照脚本,该实时脚本包含以下附加部分以及代码示例。

  • 捕获图像捕获一个帧,并将其保存到工作区中作为变量指定的日志记录部分。如果你选择文件日志记录节,此节还执行以下操作:

    • 定义要保存为的文件名和要保存到的位置。

    • 方法将捕获的帧保存到文件中imwrite函数。

    • 指定您设置的映像文件配置设置日志记录的名称-值参数,例如文件格式和质量imwrite

    image1 = getsnapshot (v);设置所需的文件位置和名称。filelocation =“C: \ \用户用户”;文件名=“snapshot1.jpg”;fullFilename = fullfile(filelocation, filename);将图像数据写入文件。imwrite (image1 fullFilename,“jpg”“质量”25岁的“BitDepth”12);
  • 视图快照—使用imshow函数。

    imageData = imread (fullFilename);f =图;ax =轴(f);imshow (imageData“父”、ax);

生成记录脚本

如果您选择生成记录脚本现场脚本包含以下附加部分,以及代码示例。

  • 配置文件记录—设置视频文件的日志设置,方法如下:

    • 定义要保存为的文件名和要保存到的位置。

    • 指定您设置的视频文件配置设置日志记录,如文件格式和质量,使用VideoWriter

    • 配置videoinput对象要记录到磁盘。

    如果不选择文件日志记录,此部分不在实时脚本中。

    filelocation =“C: \ \用户用户”;文件名=“recording1.mp4”;fullFilename = fullfile(filelocation, filename);创建并配置视频写入器日志文件= VideoWriter (fullFilename,“mpeg - 4”);日志文件。帧速率= 15;日志文件。质量= 25;配置设备使用视频写入器记录到磁盘v.LoggingMode =“磁盘”;v.DiskLogger =日志文件;
  • 配置触发—硬件触发设置数量的触发器帧/触发触发源,触发条件你在硬件触发面板。如果不选择硬件触发记录,此部分不在实时脚本中。

    framesPerTrigger = 4;numTriggers = 2;triggerCondition =“risingEdge”;triggerSource =“TTL”;triggerconfig (v,“硬件”、triggerCondition triggerSource);v.FramesPerTrigger = framesPerTrigger;v.TriggerRepeat = numTriggers - 1;
  • 记录—根据文件中选择的记录方式记录图像数据记录控件中指定的设置保存它日志记录部分。

    • 如果您选择有限的而且框架(s),此部分称为录制视频设定帧数并记录指定帧数的图像数据。

      numFrames = 10;v.FramesPerTrigger = numFrames;开始(v);等待(v);停止(v);recording1 = getdata(v, numFrames);
    • 如果您选择有限的而且第二个(s),此部分称为录制视频为设定的秒数并记录指定秒数的图像数据。

      numSeconds = 10;v.FramesPerTrigger =正;开始(v);暂停(numSeconds);停止(v);recording1 = getdata(v, v. framesavailable);
    • 如果您选择连续,此部分称为连续录制视频数据并连续记录图像数据,需要按Enter键停止记录。

      v.FramesPerTrigger =正;开始(v);在结束采集前使用INPUT暂停。输入(“按ENTER键结束采集。”);停止(v);recording1 = getdata(v, v. framesavailable);
    • 如果您选择硬件触发,此部分称为用硬件触发器记录并使用硬件触发器记录图像数据。

      开始(v);等待(v);停止(v);recording1 = getdata(v, framesPerTrigger * numTriggers);

  • 显示记录—显示录制的视频implay函数。

    读者= VideoReader (fullFilename);可视数据=阅读(读者);implay(可视数据);

清理

生成的实时脚本包含以下与清理工作区相关的部分。

  • 清理—断开与设备的连接,并将其从工作区中清除删除而且清晰的功能。

    删除(v)清晰srcv

另请参阅

相关的话题

Baidu
map