pixelcontrolsignals
Extract signals from pixel-streaming control signal structure
Description
Examples
If you integrate Vision HDL Toolbox designs with algorithms that use a different interface, you may need to create the structure manually, or manipulate the control signals outside of the structure.
Create a pixelcontrol
structure by passing five control signal values to the pixelcontrolstruct
function. The function arguments must be scalar values. These control signals may come from a camera or other video input source. The control signal vectors in this example describe a simple 2-by-3 pixel test image, surrounded by padding pixels.
hStart = [0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0]; vStart = [0 0 0 0 0 0 0 1 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 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0]; vEnd = [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0]; valid = [0 0 0 0 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0]; pixel = 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]); [~,numPix] = size(pixel); ctrlIn = repmat(pixelcontrolstruct,numPix,1); for i = 1:numPix ctrlIn(i) = pixelcontrolstruct(hStart(i),vStart(i),... hEnd(i),vEnd(i),valid(i)); end
Each element of ctrlIn
is a structure containing the five control signals.
ctrlIn(8)
ans = struct with fields:
hStart: 1
hEnd: 1
vStart: 0
vEnd: 0
valid: 1
You can then pass this structure to a Vision HDL Toolbox System object™. This example uses the LookupTable object to invert each pixel.
tabledata = uint8(linspace(255,0,256)); inverter = visionhdl.LookupTable(tabledata); pixelOut = zeros(numPix,1,'uint8'); ctrlOut = repmat(pixelcontrolstruct,numPix,1); for i = 1:numPix [pixelOut(i),ctrlOut(i)] = inverter(pixel(i),ctrlIn(i)); end
If you need to use the control signals directly in downstream algorithms, you can flatten each structure into five logical
control signal values by calling the pixelcontrolsignals
function.
[hStartOut,vStartOut,hEndOut,vEndOut,validOut] = deal(false(numPix,1)); for i = 1:numPix [hStartOut(i),vStartOut(i),hEndOut(i),vEndOut(i),validOut(i)] = ... pixelcontrolsignals(ctrlOut(i)); end
Each output control signal is a vector of logical values that correspond with the pixelOut
vector.
validOut'
ans = 1×24 logical array
0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 0 0 0
Input Arguments
Pixel control signals, specified as a structure containing five logical
values.
The pixel control structure is a specific format used by Vision HDL Toolbox™ objects. See Pixel Control Structure.
Output Arguments
Control signal indicating the first pixel in a horizontal line,
specified as a logical
scalar.
Control signal indicating the last pixel in a horizontal line,
specified as a logical
scalar.
Control signal indicating the first pixel in the first (top)
line, specified as a logical
scalar.
Control signal indicating the last pixel in the last (bottom)
line, specified as a logical
scalar.
Control signal indicating the validity of the pixel, specified
as a logical
scalar.
Version History
Introduced in R2015a
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)