CogniPilot

MODELICA LIBRARY · ENGINEERING REFERENCE

Vision/Matching/RGBDDescriptorFrame.mo

Download original .moGitHub source

Documentation: Vision.Matching.RGBDDescriptorFrame

within Vision.Matching;
model RGBDDescriptorFrame
  import DescribeRGBDFrame = Vision.Matching.DescribeRGBDFrame;

  parameter Integer imageHeight(min=1) = 90;
  parameter Integer imageWidth(min=1) = 160;
  constant Integer featureCapacity = 350;
  constant Integer descriptorWidth = 7;
  constant Integer descriptorSize = descriptorWidth*descriptorWidth;
  parameter Real minimumContrast = 1e-6;
  parameter Real nearDepth = 0.28;
  parameter Real farDepth = 10.0;
  parameter Integer channelCount(min=3,max=4) = 4;
  constant Integer colorChannelCount = 3;
  input Boolean imageEnabled = true "Exactly the camera acquisition, not a held-IMU interval";
  input Real rgb[imageHeight,imageWidth,channelCount];
  input Real depth[imageHeight,imageWidth];
  input Real depthUnits = 1.0 "Meters per depth sample";
  input Real pixels[featureCapacity,2];
  input Real activeCount;
  input Real rgbCalibration[4] = {imageWidth/(2*tan(69*3.141592653589793/360)),imageHeight/(2*tan(42*3.141592653589793/360)),(imageWidth-1)/2.0,(imageHeight-1)/2.0};
  input Real depthCalibration[4] = {imageWidth/(2*tan(87*3.141592653589793/360)),imageHeight/(2*tan(58*3.141592653589793/360)),(imageWidth-1)/2.0,(imageHeight-1)/2.0};
  constant Integer noiseReferenceWidth = 848;
  input Real disparityNoise = 0.1;
  input Real noiseReferenceFx = noiseReferenceWidth/(2*tan(87*3.141592653589793/360));
  input Real baseline = 0.05;
  output Real descriptor[featureCapacity,descriptorSize];
  output Real point[featureCapacity,3];
  output Real enabled[featureCapacity];
  output Real invalidCount;
equation
  (descriptor,point,enabled,invalidCount) = DescribeRGBDFrame(rgb,depth,pixels,activeCount,
    rgbCalibration,depthCalibration,disparityNoise,noiseReferenceFx,baseline,
    nearDepth,farDepth,minimumContrast,imageEnabled,depthUnits=depthUnits);
end RGBDDescriptorFrame;