Mam dwa obrazy (patrz poniżej). Obrazy te przedstawiają kontury pary kabli i zostały uchwycone za pomocą laserowej triangulacji 3D. Pierwsze zdjęcie zostaje zrobione lewym aparatem, a drugie prawym aparatem. Jak widać, obrazy te częściowo się nakładają. Lewa część na pierwszym obrazie częściowo odpowiada lewej części na drugim obrazie. To samo dotyczy prawej części. Chcę połączyć te dwa obrazy w jeden obraz, aby odpowiednie części zachodziły na siebie.Wyrównaj dwa obrazy w OpenCV
Obok tych obrazów, ja też mam następujące informacje do mojej dyspozycji:
- Macierz 3x3 homography
H
z lewej i prawej kamery - wewnętrzne parametry aparatu
K
z lewej i prawej kamery - Współczynniki zniekształceń
D
(9 z nich) z lewej i prawej kamery - Przesunięcie
O
lewej i prawej kamery
Dane te podano poniżej.
W Halcon, próbowałem to zrobić przy użyciu mozaikowania:
- ekstrakcji punktów charakterystycznych w obu obrazów za pomocą Harris
- obliczyć rzutowe macierz transformacji z jednego obrazu do drugiego, używając Ransac.
- Zastosuj znalezioną macierz transformacji rzutowej.
Podejście to jednak nie powiodło się. Szukam podobnego podejścia w OpenCV lub Halcon lub podejścia (także w OpenCV lub Halcon), które wykorzystuje dane kalibracyjne, które mam do dyspozycji, takie jak macierz homografii i matryca kamery.
Proszę podać objaśnienia, jeśli to możliwe, ponieważ dopiero zaczynam od Machine Vision.
Hl := [0.00175186, 4.73083e-05, -0.00108921,
0.000780817, -0.00145615, 0.00118631,
0.0534139, -0.030823, 1.0 ]
Kl := [4578.21, -5.05144, 759.766,
0.0, 4576.87, 568.223,
0.0, 0.0, 1.0 ]
Dl := [-0.12573, 0.0533453, -0.575361, -0.0130272, 0.00348033, 0.00852617, -0.0271142, 0.0176706, -0.00575124]
Ol := [0.0, 150.0]
Hr := [0.00173883, -2.94597e-05, 0.00109873,
-0.00077676, -0.0014687, 0.00121393,
-0.0653829, -0.0443924, 1.0 ]
Kr := [4591.96, -4.55317, 1284.74,
0.0, 4591.19, 534.317,
0.0, 0.0, 1.0 ]
Dr := [-0.110751, -0.349716, 3.86535, 0.017393, -0.00364957, -0.00633656, 0.0338833, -0.0212222, 0.00543694]
Or := [0.0, 100.0]
masz dostęp do 3d pozycjach punkcie pikseli, w stosunku do skanera laserowego.? ("zostały przechwycone za pomocą laserowej triangulacji 3D") – Micka
Nie, nie sądzę. Czy mogę to obliczyć za pomocą dostępnych danych, takich jak homografia lub matryca aparatu? – JNevens
, więc zdjęcia nie zostały uchwycone za pomocą trójwymiarowego urządzenia do triangulacji, takiego jak skaner laserowy? te urządzenia zazwyczaj przechwytują trójwymiarową siatkę chmur punktów – Micka