OpenCV ve python kullanarak 3D ve stereo kamera kalibrasyonunun nasıl yapıldığını öğrenmeye çalışıyorum. Bir 8x6 satranç tahtası (7x5 iç köşeler) 3 kamera görüşlerini kullanarak, cv.calibrateCamera()
Tamam çalışıyordum ama cv2 kullandığımda tamamen takılı kaldım. Adımlardan biri satranç tahtası köşelerini bulmak. cv.findChessboardCorners()
köşeleri bir nokta listesi olarak döndürürken, cv2 numpy dizileri kullanır ve noktaları (35,1,2) numpy dizisi olarak döndürür. Cv2.calibrateCamera() parametresi object_points
, image_points
ve image_size
'dur. Nesne noktalarını bir (3,35,3)
numpy dizisinde sağladım ve görüntü (3,35,2)
numpy dizisinde işaret ediyor. Resim boyutu (1632, 1224)
. Herkes bana sorunun ne olduğunu söyleyebilir mi? Elde hata çok faydalı değildir:cv2.cameraCalibration
Traceback (most recent call last):
File "H:/pyCV/locv_book/ch11/calCamera2a.py", line 46, in <module>
cv2.calibrateCamera(opts,ipts,size)
error: ..\..\..\src\opencv\modules\calib3d\src\calibration.cpp:3173: error: (-215) ni >= 0
Teşekkür ederiz! Bu hata beni hiç rahatsız etmedi! – shinjin
Bu soruyu 2015 yılında OpenCV 2.4.10 kullanarak bulduk. Benzer bir "cv2.error: ... calibration.cpp: 3169: hata: (-215) ni> = işlev cv :: collectCalibrationData" olsun. Çözüm, sırasıyla nesne ve görüntü noktaları için her iki diziyi de (1, N, 3) ve (1, N, 2) olarak yeniden şekillendirmekti. – sastanin