binocular_disparitybinocular_disparityBinocularDisparityBinocularDisparitybinocular_disparity (Operator)

Name

binocular_disparitybinocular_disparityBinocularDisparityBinocularDisparitybinocular_disparity — Berechnet die Disparität für ein rektifiziertes Bildpaar mit Hilfe von Korrelationsmethoden.

Signatur

binocular_disparity(ImageRect1, ImageRect2 : Disparity, Score : Method, MaskWidth, MaskHeight, TextureThresh, MinDisparity, MaxDisparity, NumLevels, ScoreThresh, Filter, SubDisparity : )

Herror binocular_disparity(const Hobject ImageRect1, const Hobject ImageRect2, Hobject* Disparity, Hobject* Score, const char* Method, const Hlong MaskWidth, const Hlong MaskHeight, double TextureThresh, const Hlong MinDisparity, const Hlong MaxDisparity, const Hlong NumLevels, double ScoreThresh, const char* Filter, const char* SubDisparity)

Herror T_binocular_disparity(const Hobject ImageRect1, const Hobject ImageRect2, Hobject* Disparity, Hobject* Score, const Htuple Method, const Htuple MaskWidth, const Htuple MaskHeight, const Htuple TextureThresh, const Htuple MinDisparity, const Htuple MaxDisparity, const Htuple NumLevels, const Htuple ScoreThresh, const Htuple Filter, const Htuple SubDisparity)

void BinocularDisparity(const HObject& ImageRect1, const HObject& ImageRect2, HObject* Disparity, HObject* Score, const HTuple& Method, const HTuple& MaskWidth, const HTuple& MaskHeight, const HTuple& TextureThresh, const HTuple& MinDisparity, const HTuple& MaxDisparity, const HTuple& NumLevels, const HTuple& ScoreThresh, const HTuple& Filter, const HTuple& SubDisparity)

HImage HImage::BinocularDisparity(const HImage& ImageRect2, HImage* Score, const HString& Method, Hlong MaskWidth, Hlong MaskHeight, const HTuple& TextureThresh, Hlong MinDisparity, Hlong MaxDisparity, Hlong NumLevels, const HTuple& ScoreThresh, const HTuple& Filter, const HString& SubDisparity) const

HImage HImage::BinocularDisparity(const HImage& ImageRect2, HImage* Score, const HString& Method, Hlong MaskWidth, Hlong MaskHeight, double TextureThresh, Hlong MinDisparity, Hlong MaxDisparity, Hlong NumLevels, double ScoreThresh, const HString& Filter, const HString& SubDisparity) const

HImage HImage::BinocularDisparity(const HImage& ImageRect2, HImage* Score, const char* Method, Hlong MaskWidth, Hlong MaskHeight, double TextureThresh, Hlong MinDisparity, Hlong MaxDisparity, Hlong NumLevels, double ScoreThresh, const char* Filter, const char* SubDisparity) const

HImage HImage::BinocularDisparity(const HImage& ImageRect2, HImage* Score, const wchar_t* Method, Hlong MaskWidth, Hlong MaskHeight, double TextureThresh, Hlong MinDisparity, Hlong MaxDisparity, Hlong NumLevels, double ScoreThresh, const wchar_t* Filter, const wchar_t* SubDisparity) const   (Nur Windows)

static void HOperatorSet.BinocularDisparity(HObject imageRect1, HObject imageRect2, out HObject disparity, out HObject score, HTuple method, HTuple maskWidth, HTuple maskHeight, HTuple textureThresh, HTuple minDisparity, HTuple maxDisparity, HTuple numLevels, HTuple scoreThresh, HTuple filter, HTuple subDisparity)

HImage HImage.BinocularDisparity(HImage imageRect2, out HImage score, string method, int maskWidth, int maskHeight, HTuple textureThresh, int minDisparity, int maxDisparity, int numLevels, HTuple scoreThresh, HTuple filter, string subDisparity)

HImage HImage.BinocularDisparity(HImage imageRect2, out HImage score, string method, int maskWidth, int maskHeight, double textureThresh, int minDisparity, int maxDisparity, int numLevels, double scoreThresh, string filter, string subDisparity)

def binocular_disparity(image_rect_1: HObject, image_rect_2: HObject, method: str, mask_width: int, mask_height: int, texture_thresh: Union[float, int], min_disparity: int, max_disparity: int, num_levels: int, score_thresh: Union[float, int], filter: MaybeSequence[str], sub_disparity: str) -> Tuple[HObject, HObject]

Beschreibung

binocular_disparitybinocular_disparityBinocularDisparityBinocularDisparityBinocularDisparitybinocular_disparity berechnet mit Hilfe von Korrelationsmethoden pixelweise Korrespondenzen zwischen zwei rektifizierten Bildern. Im Unterschied zu binocular_distancebinocular_distanceBinocularDistanceBinocularDistanceBinocularDistancebinocular_distance werden die Ergebnisse nicht in Distanzwerte transformiert.

Der Algorithmus benötigt ein Referenzbild ImageRect1ImageRect1ImageRect1ImageRect1imageRect1image_rect_1 und ein Suchbild ImageRect2ImageRect2ImageRect2ImageRect2imageRect2image_rect_2, welche entzerrt sein müssen, d.h. korrespondierende Epipolarlinien liegen parallel und haben identische Bildzeilenkoordinaten ( ). Falls diese Annahme nicht zutrifft, können die Bilder durch die Operatoren calibrate_camerascalibrate_camerasCalibrateCamerasCalibrateCamerasCalibrateCamerascalibrate_cameras, gen_binocular_rectification_mapgen_binocular_rectification_mapGenBinocularRectificationMapGenBinocularRectificationMapGenBinocularRectificationMapgen_binocular_rectification_map und map_imagemap_imageMapImageMapImageMapImagemap_image entzerrt werden. Ausgehend von einem Pixel im Referenzbild ImageRect1ImageRect1ImageRect1ImageRect1imageRect1image_rect_1 kann dann das zugehörige Pixel in ImageRect2ImageRect2ImageRect2ImageRect2imageRect2image_rect_2 durch die Suche entlang der korrespondierenden Zeile in ImageRect2ImageRect2ImageRect2ImageRect2imageRect2image_rect_2 gefunden werden. Eine Übereinstimmung wird gefunden, indem jeweils eine lokale Nachbarschaft um das entsprechende Pixel innerhalb eines Fensters der Größe MaskWidthMaskWidthMaskWidthMaskWidthmaskWidthmask_width und MaskHeightMaskHeightMaskHeightMaskHeightmaskHeightmask_height in beiden Bildern miteinander verglichen wird. Die Pixelkorrespondenzen werden in dem einkanaligen Bild DisparityDisparityDisparityDisparitydisparitydisparity zurückgegeben. Der Grauwert beschreibt dabei die Disparität zwischen dem Pixel im Referenzbild ImageRect1ImageRect1ImageRect1ImageRect1imageRect1image_rect_1 und dem korrespondierendem Pixel im Suchbild ImageRect2ImageRect2ImageRect2ImageRect2imageRect2image_rect_2 und erfüllt somit die Gleichung . Ein Qualitätsmaß für die ermittelten Disparitätswerte wird im Bild ScoreScoreScoreScorescorescore zurückgegeben, welches jeweils das beste Ergebnis der Korrelationsfunktion für ein Referenzpixel enthält. Für die Korrelation werden die Grauwerte der originalen, nicht vorverarbeiteten Eingabebilder genutzt.

Die verwendete Korrelationsfunktion wird durch den Parameter MethodMethodMethodMethodmethodmethod bestimmt, welcher drei Berechnungsmethoden unterscheidet:

wobei

, , , : Zeilen- und Spaltenkoordinaten der korrespondierenden Pixel der beiden Eingabebilder,

, :: Grauwerte der nicht vorverarbeiteten Eingabebilder,

: Größe des Korrelationsfensters,

: mittlerer Grauwert innerhalb eines Korrelationsfensters der Breite und Höhe .

Die Methoden 'sad'"sad""sad""sad""sad""sad" und 'ssd'"ssd""ssd""ssd""ssd""ssd" vergleichen direkt die Grauwerte der Pixel innerhalb des Grauwertfensters, wohingegen 'ncc'"ncc""ncc""ncc""ncc""ncc" den mittleren Grauwert und seine Varianz innerhalb des Grauwertfensters ausgleicht. Wenn zwei Bilder in ihrer Helligkeit und ihrem Kontrast unterschiedlich sind, ist daher 'ncc'"ncc""ncc""ncc""ncc""ncc" vorzuziehen. Ansonsten sind 'sad'"sad""sad""sad""sad""sad" und 'ssd'"ssd""ssd""ssd""ssd""ssd" vorzuziehen, da sie aufgrund einfacherer interner Berechnungen schneller sind.

Es muss darauf geachtet werden, dass die Güte der Korrelation für steigende in den Methoden 'sad'"sad""sad""sad""sad""sad" und 'ssd'"ssd""ssd""ssd""ssd""ssd" fällt (die beste Güte ist 0), während sie in der Methode 'ncc'"ncc""ncc""ncc""ncc""ncc" steigt (die beste Güte ist 1.0).

Die Größe des Korrelationsfensters, welche durch und in obigen Gleichungen referenziert wird, muss ungeradzahlig sein und kann durch die Parameter MaskWidthMaskWidthMaskWidthMaskWidthmaskWidthmask_width und MaskHeightMaskHeightMaskHeightMaskHeightmaskHeightmask_height festgelegt werden. Der Suchraum wird durch den minimalen und maximalen Disparitätswert MinDisparityMinDisparityMinDisparityMinDisparityminDisparitymin_disparity und MaxDisparityMaxDisparityMaxDisparityMaxDisparitymaxDisparitymax_disparity festgelegt. Da Grauwerte nicht außerhalb des Bildrandes definiert sind wird die Bildregion des DisparityDisparityDisparityDisparitydisparitydisparity und ScoreScoreScoreScorescorescore Bildes am unteren und oberen Bildrand um (MaskHeightMaskHeightMaskHeightMaskHeightmaskHeightmask_height-1)/2 sowie am linken und rechten Rand um (MaskWidthMaskWidthMaskWidthMaskWidthmaskWidthmask_width-1)/2 beschnitten. Aus dem gleichen Grund wird der maximale Suchraum am linken und rechten Bildrand begrenzt.

Da die Korrelationsverfahren in schwach texturierten Bildregionen im hohen Maße ungenau werden, kann die kleinste, innerhalb eines Korrelationsfensters erlaubte Grauwertstreuung mit Hilfe des Parameters TextureThreshTextureThreshTextureThreshTextureThreshtextureThreshtexture_thresh definiert werden. Dieser Schwellenwert wird auf beide Eingabebilder ImageRect1ImageRect1ImageRect1ImageRect1imageRect1image_rect_1 und ImageRect2ImageRect2ImageRect2ImageRect2imageRect2image_rect_2 angewendet. Zusätzlich garantiert ScoreThreshScoreThreshScoreThreshScoreThreshscoreThreshscore_thresh eine Mindestgüte der verwendeten Korrelationsfunktion und legt für die Methoden 'sad'"sad""sad""sad""sad""sad" und 'ssd'"ssd""ssd""ssd""ssd""ssd" den größten, bzw. für 'ncc'"ncc""ncc""ncc""ncc""ncc" den kleinsten zulässigen Korrelationswert fest. Wird ferner FilterFilterFilterFilterfilterfilter auf 'left_right_check'"left_right_check""left_right_check""left_right_check""left_right_check""left_right_check" gesetzt, werden nur noch diejenigen Disparitätswerte zurückgegeben, die übereinstimmend bei einer Suche eines Referenzmusters von ImageRect1ImageRect1ImageRect1ImageRect1imageRect1image_rect_1 in ImageRect2ImageRect2ImageRect2ImageRect2imageRect2image_rect_2 als auch von ImageRect2ImageRect2ImageRect2ImageRect2imageRect2image_rect_2 in ImageRect1ImageRect1ImageRect1ImageRect1imageRect1image_rect_1 gefunden werden. Der Wert 'none'"none""none""none""none""none" hingegen schaltet dieses Verhalten aus.

Die Anzahl der Pyramidenstufen, welche verwendet werden um das Zeitverhalten von binocular_disparitybinocular_disparityBinocularDisparityBinocularDisparityBinocularDisparitybinocular_disparity zu verbessern, wird durch den Parameter NumLevelsNumLevelsNumLevelsNumLevelsnumLevelsnum_levels bestimmt. Einem grob-zu-fein Schema folgend werden die Disparitätsbilder der höheren Stufen berechnet und in rechteckige Bildteile von ähnlicher Disparität unterteilt um den Suchbereich auf der nächst niedrigeren Stufe für diesen Bildausschnitt einzuschränken. TextureThreshTextureThreshTextureThreshTextureThreshtextureThreshtexture_thresh und ScoreThreshScoreThreshScoreThreshScoreThreshscoreThreshscore_thresh werden auf jeder Stufe angewendet, so dass die mit DisparityDisparityDisparityDisparitydisparitydisparity und ScoreScoreScoreScorescorescore zurückgegebene Bildregion als die Schnittmenge der Bildregionen auf jeder einzelnen Stufe definiert ist. Im allgemeinen lohnt sich das Verwenden von Pyramidenstrukturen um so mehr, je mehr das Disparitätsbild in homogene Bereiche unterteilt werden kann und je größer der Disparitätsbereich definiert werden muss. Auf der anderen Seite können zu hohe Pyramidenstufen durch ihre grobe Auflösung wichtige Texturinformationen verlieren, so dass falsche Disparitätswerte zurückgegeben werden können.

Der Wert 'interpolation'"interpolation""interpolation""interpolation""interpolation""interpolation" für den Parameter SubDisparitySubDisparitySubDisparitySubDisparitysubDisparitysub_disparity schließlich berechnet die Disparitäten Subpixel genau. Das Verhalten wird ausgeschaltet indem der Parameter auf 'none'"none""none""none""none""none" gesetzt wird.

Ausführungsinformationen

Parameter

ImageRect1ImageRect1ImageRect1ImageRect1imageRect1image_rect_1 (input_object)  singlechannelimage objectHImageHObjectHImageHobject (byte)

Rektifiziertes Bild der Kamera 1.

ImageRect2ImageRect2ImageRect2ImageRect2imageRect2image_rect_2 (input_object)  singlechannelimage objectHImageHObjectHImageHobject (byte)

Rektifiziertes Bild der Kamera 2.

DisparityDisparityDisparityDisparitydisparitydisparity (output_object)  singlechannelimage objectHImageHObjectHImageHobject * (real)

Disparität.

ScoreScoreScoreScorescorescore (output_object)  singlechannelimage objectHImageHObjectHImageHobject * (real)

Maß für die Zuverlässigkeit eines Disparitätswertes.

MethodMethodMethodMethodmethodmethod (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Korrespondenzverfahren.

Defaultwert: 'ncc' "ncc" "ncc" "ncc" "ncc" "ncc"

Werteliste: 'ncc'"ncc""ncc""ncc""ncc""ncc", 'sad'"sad""sad""sad""sad""sad", 'ssd'"ssd""ssd""ssd""ssd""ssd"

MaskWidthMaskWidthMaskWidthMaskWidthmaskWidthmask_width (input_control)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Breite des Korrelationsfensters.

Defaultwert: 11

Wertevorschläge: 5, 7, 9, 11, 21

Restriktion: 3 <= MaskWidth && odd(MaskWidth)

MaskHeightMaskHeightMaskHeightMaskHeightmaskHeightmask_height (input_control)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Höhe des Korrelationsfensters.

Defaultwert: 11

Wertevorschläge: 5, 7, 9, 11, 21

Restriktion: 3 <= MaskHeight && odd(MaskHeight)

TextureThreshTextureThreshTextureThreshTextureThreshtextureThreshtexture_thresh (input_control)  real HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Schwellenwert der Grauwertvarianz.

Defaultwert: 0.0

Wertevorschläge: 0.0, 10.0, 30.0

Restriktion: 0.0 <= TextureThresh

MinDisparityMinDisparityMinDisparityMinDisparityminDisparitymin_disparity (input_control)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Minimale erwartete Disparität.

Defaultwert: -30

Typischer Wertebereich: -32768 ≤ MinDisparity MinDisparity MinDisparity MinDisparity minDisparity min_disparity ≤ 32767

MaxDisparityMaxDisparityMaxDisparityMaxDisparitymaxDisparitymax_disparity (input_control)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Maximale erwartete Disparität.

Defaultwert: 30

Typischer Wertebereich: -32768 ≤ MaxDisparity MaxDisparity MaxDisparity MaxDisparity maxDisparity max_disparity ≤ 32767

NumLevelsNumLevelsNumLevelsNumLevelsnumLevelsnum_levels (input_control)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Anzahl der Pyramidenstufen.

Defaultwert: 1

Wertevorschläge: 1, 2, 3, 4

Restriktion: 1 <= NumLevels

ScoreThreshScoreThreshScoreThreshScoreThreshscoreThreshscore_thresh (input_control)  real HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Schwellenwert der Korrelation.

Defaultwert: 0.5

Wertevorschläge: -1.0, 0.0, 0.3, 0.5, 0.7

FilterFilterFilterFilterfilterfilter (input_control)  string(-array) HTupleMaybeSequence[str]HTupleHtuple (string) (string) (HString) (char*)

Nachgelagerte Ergebnisfilter.

Defaultwert: 'none' "none" "none" "none" "none" "none"

Werteliste: 'left_right_check'"left_right_check""left_right_check""left_right_check""left_right_check""left_right_check", 'none'"none""none""none""none""none"

SubDisparitySubDisparitySubDisparitySubDisparitysubDisparitysub_disparity (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Sup-Pixel Interpolation der Disparitäten.

Defaultwert: 'none' "none" "none" "none" "none" "none"

Werteliste: 'interpolation'"interpolation""interpolation""interpolation""interpolation""interpolation", 'none'"none""none""none""none""none"

Beispiel (HDevelop)

* Set internal and external stereo parameters.
* Note that, typically, these values are the result of a prior
* calibration.
gen_cam_par_area_scan_division (0.01, -665, 5.2e-006, 5.2e-006, \
                                622, 517, 1280, 1024, CamParam1)
gen_cam_par_area_scan_division (0.01, -731, 5.2e-006, 5.2e-006, \
                                654, 519, 1280, 1024, CamParam2)
create_pose (0.1535,-0.0037,0.0447,0.17,319.84,359.89, \
             'Rp+T', 'gba', 'point', RelPose)

* Compute the mapping for rectified images.
gen_binocular_rectification_map (Map1, Map2, CamParam1, CamParam2, RelPose, \
                                 1, 'viewing_direction', 'bilinear', \
                                 CamParamRect1,CamParamRect2, \
                                 Cam1PoseRect1, Cam2PoseRect2,RelPoseRect)

* Compute the disparities in online images.
while (1)
  grab_image_async (Image1, AcqHandle1, -1)
  map_image (Image1, Map1, ImageRect1)

  grab_image_async (Image2, AcqHandle2, -1)
  map_image (Image2, Map2, ImageRect2)

  binocular_disparity(ImageRect1, ImageRect2, Disparity, Score, 'sad', \
                      11, 11, 20, -40, 20, 2, 25, 'left_right_check', \
                      'interpolation')
endwhile

Beispiel (HDevelop)

* Set internal and external stereo parameters.
* Note that, typically, these values are the result of a prior
* calibration.
gen_cam_par_area_scan_division (0.01, -665, 5.2e-006, 5.2e-006, \
                                622, 517, 1280, 1024, CamParam1)
gen_cam_par_area_scan_division (0.01, -731, 5.2e-006, 5.2e-006, \
                                654, 519, 1280, 1024, CamParam2)
create_pose (0.1535,-0.0037,0.0447,0.17,319.84,359.89, \
             'Rp+T', 'gba', 'point', RelPose)

* Compute the mapping for rectified images.
gen_binocular_rectification_map (Map1, Map2, CamParam1, CamParam2, RelPose, \
                                 1, 'viewing_direction', 'bilinear', \
                                 CamParamRect1,CamParamRect2, \
                                 Cam1PoseRect1, Cam2PoseRect2,RelPoseRect)

* Compute the disparities in online images.
while (1)
  grab_image_async (Image1, AcqHandle1, -1)
  map_image (Image1, Map1, ImageRect1)

  grab_image_async (Image2, AcqHandle2, -1)
  map_image (Image2, Map2, ImageRect2)

  binocular_disparity(ImageRect1, ImageRect2, Disparity, Score, 'sad', \
                      11, 11, 20, -40, 20, 2, 25, 'left_right_check', \
                      'interpolation')
endwhile

Beispiel (C++)

// Set internal and external stereo parameters.
// Note that, typically, these values are the result of a prior
// calibration.
gen_cam_par_area_scan_division (0.01, -665, 5.2e-006, 5.2e-006,
                                622, 517, 1280, 1024, &CamParam1);
gen_cam_par_area_scan_division (0.01, -731, 5.2e-006, 5.2e-006,
                                654, 519, 1280, 1024, &CamParam2);
create_pose (0.1535,-0.0037,0.0447,0.17,319.84,359.89,
             "Rp+T", "gba", "point", &RelPose);
// Compute the mapping for rectified images.
gen_binocular_rectification_map(&Map1,&Map2,CamParam1,CamParam2,RelPose,1,
                                "viewing_direction","bilinear",
                                &CamParamRect1,&CamParamRect2,
                                &CamPoseRect1,&CamPoseRect2,&RelPosRect);

// Compute the disparities in online images.
while (1)
{
  grab_image_async(&Image1,AcqHandle1,-1);
  map_image(Image1,Map1,&ImageRect1);

  grab_image_async(&Image2,AcqHandle2,-1);
  map_image(Image2,Map2,&ImageRect2);

  binocular_disparity(ImageRect1,ImageRect2,&Disparity,&Score,"sad",
                      11,11,20,-40,20,2,25,"left_right_check",
                      "interpolation");
}

Beispiel (HDevelop)

* Set internal and external stereo parameters.
* Note that, typically, these values are the result of a prior
* calibration.
gen_cam_par_area_scan_division (0.01, -665, 5.2e-006, 5.2e-006, \
                                622, 517, 1280, 1024, CamParam1)
gen_cam_par_area_scan_division (0.01, -731, 5.2e-006, 5.2e-006, \
                                654, 519, 1280, 1024, CamParam2)
create_pose (0.1535,-0.0037,0.0447,0.17,319.84,359.89, \
             'Rp+T', 'gba', 'point', RelPose)

* Compute the mapping for rectified images.
gen_binocular_rectification_map (Map1, Map2, CamParam1, CamParam2, RelPose, \
                                 1, 'viewing_direction', 'bilinear', \
                                 CamParamRect1,CamParamRect2, \
                                 Cam1PoseRect1, Cam2PoseRect2,RelPoseRect)

* Compute the disparities in online images.
while (1)
  grab_image_async (Image1, AcqHandle1, -1)
  map_image (Image1, Map1, ImageRect1)

  grab_image_async (Image2, AcqHandle2, -1)
  map_image (Image2, Map2, ImageRect2)

  binocular_disparity(ImageRect1, ImageRect2, Disparity, Score, 'sad', \
                      11, 11, 20, -40, 20, 2, 25, 'left_right_check', \
                      'interpolation')
endwhile

Beispiel (HDevelop)

* Set internal and external stereo parameters.
* Note that, typically, these values are the result of a prior
* calibration.
gen_cam_par_area_scan_division (0.01, -665, 5.2e-006, 5.2e-006, \
                                622, 517, 1280, 1024, CamParam1)
gen_cam_par_area_scan_division (0.01, -731, 5.2e-006, 5.2e-006, \
                                654, 519, 1280, 1024, CamParam2)
create_pose (0.1535,-0.0037,0.0447,0.17,319.84,359.89, \
             'Rp+T', 'gba', 'point', RelPose)

* Compute the mapping for rectified images.
gen_binocular_rectification_map (Map1, Map2, CamParam1, CamParam2, RelPose, \
                                 1, 'viewing_direction', 'bilinear', \
                                 CamParamRect1,CamParamRect2, \
                                 Cam1PoseRect1, Cam2PoseRect2,RelPoseRect)

* Compute the disparities in online images.
while (1)
  grab_image_async (Image1, AcqHandle1, -1)
  map_image (Image1, Map1, ImageRect1)

  grab_image_async (Image2, AcqHandle2, -1)
  map_image (Image2, Map2, ImageRect2)

  binocular_disparity(ImageRect1, ImageRect2, Disparity, Score, 'sad', \
                      11, 11, 20, -40, 20, 2, 25, 'left_right_check', \
                      'interpolation')
endwhile

Ergebnis

Sind die Parameterwerte korrekt, dann liefert binocular_disparitybinocular_disparityBinocularDisparityBinocularDisparityBinocularDisparitybinocular_disparity den Wert TRUE.

Vorgänger

map_imagemap_imageMapImageMapImageMapImagemap_image

Nachfolger

thresholdthresholdThresholdThresholdThresholdthreshold, disparity_to_distancedisparity_to_distanceDisparityToDistanceDisparityToDistanceDisparityToDistancedisparity_to_distance, disparity_image_to_xyzdisparity_image_to_xyzDisparityImageToXyzDisparityImageToXyzDisparityImageToXyzdisparity_image_to_xyz

Alternativen

binocular_disparity_mgbinocular_disparity_mgBinocularDisparityMgBinocularDisparityMgBinocularDisparityMgbinocular_disparity_mg, binocular_disparity_msbinocular_disparity_msBinocularDisparityMsBinocularDisparityMsBinocularDisparityMsbinocular_disparity_ms, binocular_distancebinocular_distanceBinocularDistanceBinocularDistanceBinocularDistancebinocular_distance, binocular_distance_mgbinocular_distance_mgBinocularDistanceMgBinocularDistanceMgBinocularDistanceMgbinocular_distance_mg, binocular_distance_msbinocular_distance_msBinocularDistanceMsBinocularDistanceMsBinocularDistanceMsbinocular_distance_ms

Siehe auch

map_imagemap_imageMapImageMapImageMapImagemap_image, gen_binocular_rectification_mapgen_binocular_rectification_mapGenBinocularRectificationMapGenBinocularRectificationMapGenBinocularRectificationMapgen_binocular_rectification_map, binocular_calibrationbinocular_calibrationBinocularCalibrationBinocularCalibrationBinocularCalibrationbinocular_calibration

Modul

3D Metrology