从象素流中选择感兴趣区域
的visionhdl。ROI选择或
系统对象™从视频流中选择活动帧的一部分。框架的总大小保持不变。输出控制信号表示帧的一个新的活动区域。此图以蓝色显示非活动像素区域,以橙色表示请求的输出区域。
您可以为ROI指定一个固定的大小和位置,或者您可以使用输入参数动态地选择帧位置。您可以选择多个区域。通过指定其左上角坐标和维度来定义每个区域。该对象为您指定的每个区域返回一组像素和控制信号。该对象将输出帧中的非活动像素设置为零。
区域是相互独立的,所以它们可以重叠。如果指定一个包含活动帧边缘的区域,则该对象仅返回该区域的活动部分。这个图显示了三个请求区域的输出帧。第二个输出区域不包括帧上方的非活动区域。
该对象还提供了垂直重用的模式。在此模式下,必须指定没有垂直重叠并按列对齐的区域。区域的每列共享一个输出像素流。控制信号定义流中的每个区域。这种安排支持对每个列进行并行处理,并重用列中每个区域的下游处理逻辑。要使用此模式,请设置VerticalReuse
财产真正的
。使用visionhdlframetoregions
功能将框架划分为垂直重用的平铺区域。
从像素流中选择感兴趣的区域:
创建visionhdl。ROI选择或
对象,并设置其属性。
使用参数调用对象,就像调用函数一样。
要了解更多关于System对象如何工作的信息,请参见什么是系统对象?
投资回报率= visionhdl.ROISelector(名称、值)
创建一个System对象,该对象从输入流中选择活动帧的区域。使用一个或多个名称-值对设置属性。将每个属性名用单引号括起来。例如,。ROI
= visionhdl。ROISelector (的名字
,价值
)'区域',[1 1 32 24]
将对象配置为在帧的左上角选择一个32x24像素的区域。
[pixel1, ctrl1] = ROI (pixelin ctrlin)
[pixel1, ctrl1,…,pixelR,ctrlR] = ROI(pixelin,ctrlin)
[pixel1, ctrl1,…,pixelR,ctrlR] = ROI(pixelin,ctrlin,region1,...,regionR)
[pixel1, ctrl1] = ROI (pixelin ctrlin)
返回下一个像素值,pixel1
,以及控制信号,ctrl1
,这是通过将活动图像帧掩蔽到一个新的区域而得到的结果。属性定义区域地区
属性的四元素行向量,[hpovPoshSizevSize]
。
[pixel1, ctrl1,…,pixelR,ctrlR] = ROI(pixelin,ctrlin)
返回下一个像素值,pixel1,…,pixelR
,以及控制信号,ctrl1,…,ctrlR
,用于屏蔽活动图像帧而产生的每个流。当你设置VerticalReuse
财产假
,每个输出流包含一个活动区域,流的数量为NumberOfRegions
属性的行数或地区
矩阵。当你设置VerticalReuse
财产真正的
,每个输出流包含一组垂直对齐的区域。在这两种情况下,通过设置地区
财产的RROI坐标的-4矩阵。
[pixel1, ctrl1,…,pixelR,ctrlR] = ROI(pixelin,ctrlin,region1,...,regionR)
返回每个流的下一个像素值,pixel1,…,pixelR
,这是由于将活动图像帧掩蔽为1到R新区域,由region1,…,regionR
参数。每一个地区
输入是ROI坐标的四元素行向量。设置时使用此语法RegionsSource
财产输入端口的
,NumberOfRegions
财产R。
此对象使用一个流像素接口,该接口具有用于帧控制信号的结构。该接口使对象能够独立于图像大小和格式进行操作,并与其他Vision HDL Toolbox™对象连接。该对象接受并返回一个标量像素值和一个包含五个信号的结构控制信号。控制信号表明每个像素的有效性及其在帧中的位置。若要将像素矩阵转换为像素流和控制信号,请使用visionhdl。FrameToPixels
对象。有关接口的完整描述,请参见流像素接口。
要使用对象函数,请指定System对象作为第一个输入参数。例如,释放名为system的对象的系统资源obj
,使用下面的语法:
发行版(obj)