Es hängt davon ab, was Sie versuchen zu tun.
Sie erwähnen, dass Sie die Höhe der Bücherregale messen möchten. Wenn es Ihnen zusagt, dass der Nahbereich des Bücherregals "kürzer" ist als die Höhe des Endes des Bücherregals am Ende der Reihe, suchen Sie nur nach Entfernung. Wählen Sie eine Einheit von "Pixeln" und messen Sie dann die Entfernung mit dem Satz des Pythagoras. (x^2 + y^2 = z^2)
Was Sie wahrscheinlich wirklich suchen, ist, dass die Höhe des nahen Bücherregals der Höhe des entfernten Bücherregals entspricht. In diesem Fall müssen Sie mehr Informationen haben. Sie müssen eine 2D -> 3D Transformation durchführen: Sie haben ein 2D Bild und Sie müssen ein 3D Bild von diesem Bild rekonstruieren. An diesem Punkt benötigen Sie eine dritte Information, da Sie 3 Variablen (X, y, z) aus 2 Variablen haben wollen.
Sie können dies mit OpenCV auf jeden Fall tun, wenn Sie das System ordnungsgemäß kalibrieren und einen zweiten Referenzpunkt (z. B. eine Laserlinie) haben. Dies ist bekannt als ein strukturiertes Licht Ansatz - siehe this link für weitere Informationen oder Google "Machine Vision strukturierte Licht"
youll eine Machine-Vision-Suite benötigen wie NI MACHINE VISION ... übrigens, was Sie C# verwenden, vb, LabVIEW? – Luiscencio