主要内容

pixelcontrolstruct

创建像素流控制信号结构

描述

例子

ctrl= pixelcontrolstruct (hStart这个到音速启动公开发表有效的创建一个包含visual HDL Toolbox™对象使用的五个控制信号的结构。输入参数必须是的5个标量逻辑类型。看到像素控制结构

例子

全部折叠

如果将Vision HDL Toolbox设计与使用不同接口的算法集成,则可能需要手动创建结构,或在结构外部操作控制信号。

创建一个pixelcontrol对象传递5个控制信号值来构造pixelcontrolstruct函数。函数参数必须是标量值。这些控制信号可能来自摄像头或其他视频输入源。本例中的控制信号向量描述了一个简单的2 × 3像素的测试图像,周围是填充像素。

hStart = [0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0];vStart = [0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0];hEnd = [0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0];vEnd = [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0];有效= [0 0 0 0 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0];像素= uint8([0 0 0 0 0 0 0 30 60 90 0 0 0 120 150 180 0 0 0 0 0 0 0 0 0]);[~,numPix] = size(像素);ctrlIn = repmat(pixelcontrolstruct,numPix,1);i = 1:numPix ctrlIn(i) = pixelcontrolstruct(hStart(i),vStart(i),...这个(我)、公开发表(我),(i)有效);结束

的每个元素ctrlIn是包含五个控制信号的结构。

ctrlIn (8)
ans =带字段的结构:hStart: 1 hEnd: 1 vStart: 0 vEnd: 0 valid: 1

然后,您可以将此结构传递给Vision HDL Toolbox System对象。本例使用LookupTable对象反转每个像素。

注意:此对象语法仅在R2016b或更高版本中运行。如果您正在使用较早的版本,请将对象的每次调用都替换为等效的调用一步语法。例如,替换myObject (x)步骤(myObject x)

Tabledata = uint8(linspace(255,0,256));逆变器= visionhdl.LookupTable(tabledata);pixelOut = 0 (numPix,1,“uint8”);ctrlOut = repmat(像素控制结构,numPix,1);i = 1:numPix [pixelOut(i),ctrlOut(i)] =逆变器(像素(i),ctrlIn(i));结束

如果需要在下游算法中直接使用控制信号,可以将每个结构平化为五个逻辑控件来控制信号值pixelcontrolsignals函数。

[hStartOut,vStartOut,hEndOut,vEndOut,validOut] = deal(false(numPix,1));i = 1:numPix [hStartOut(i),vStartOut(i),hEndOut(i),vEndOut(i),validOut(i)] =...pixelcontrolsignals (ctrlOut (i));结束

每个输出控制信号都是一个逻辑值向量,该逻辑值与pixelOut向量。

validOut”
ans =1x24逻辑阵列0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0

输入参数

全部折叠

控制信号,指示水平线的第一个像素,表示为逻辑标量。

控制信号,指示水平线的最后一个像素,指定为逻辑标量。

控制信号,指示第一行(顶部)中的第一个像素,指定为逻辑标量。

控制信号,指示最后(底部)行中的最后一个像素,指定为逻辑标量。

表示像素有效性的控制信号,指定为逻辑标量。

输出参数

全部折叠

像素控制信号,指定为包含五个的结构逻辑值。

像素控制结构是视觉HDL工具箱对象使用的特定格式。看到像素控制结构

版本历史

在R2015a中引入