簡體   English   中英

魚眼相機校准

[英]fisheye camera calibration

我正在進行魚眼相機校准,但沒有得到預期的結果,我不知道我錯在哪里。 我是這個相機校准的新手。

我的校准參數

Focal Length:          fc = [ 410.7476   408.0925 ]
Principal point:       cc = [ 369.3690   299.0193 ]
Skew:             alpha_c = [ 0.8336 ] 
Fisheye Distortion:    kc = [ -0.3726   0.0931   0.0107   0.0000 ]

我的不失真代碼:

fisheye::estimateNewCameraMatrixForUndistortRectify(intrinsic, distCoeffs, input.size(), Matx33d::eye(), newK, 1);
fisheye::undistortImage(input, output, intrinsic, distCoeffs, newK, input.size());//Size(640,360));

這是我的輸入圖像:

這是我得到的輸出:

我不認為,您的結果來自對 undistort 函數的錯誤使用。 我認為,您的校准中的相機矩陣是錯誤的。 你應該再試一次。 並且不要忘記,您必須使用相機拍攝約 20 張圖像,您還應該確保使用不同的視口拍攝棋盤或圓形網格的圖像。 在那之后取消扭曲圖像並查看結果。

我有時也會在相機校准方面得到不好的結果,但是在成功校准和良好的相機矩陣之后,一切都很好。

即使在他提到的本教程中,校准有時也會給您帶來不好的結果。

在不使用fisheye::estimateNewCameraMatrixForUndistortRectify()fisheye::undistortImage()的情況下,可以在魚眼圖像的不失真方面獲得良好的結果。 通過fisheye::calibrate()獲得 K(相機矩陣)和 D(失真系數fisheye::calibrate() ,您可以將它們直接放入initUndistortRectifyMap() 這將通過cv::remap()生成用於未失真圖像生成的cv::remap()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM