2015-04-15 28 views
1

我想糾正由兩個相機捕獲的兩個立體圖像。我想用MATLAB函數rectifyStereoImages做整改:在MATLAB中使用rectifyStereoImages進行圖像校正

rectifystereoimages

我的問題是,我使用stereoCameraCalibrator不是由函數接受計算的stereoParams:

[J1,J2] = rectifyStereoImages (I1,I2,stereoParams)

這裏是代碼片段:

imPath1 = 'Webcam1_00001.jpg'; 
 
imPath2 = 'Webcam2_00001.jpg'; 
 
imW1 = imread(imPath1); 
 
imW2 = imread(imPath2); 
 

 
load stereoParams.mat; 
 

 
[I1, I2] = rectifyStereoImages(imW1, imW2, stereoParams);

運行這導致輸出:

嘗試執行SCRIPT rectifyStereoImages作爲一個函數: /home/.../rectifyStereoImages.m

錯誤rectifyStereoImages(第8行) [I1,I2] = rectifyStereoImages(imW1,imW2,stereoParams);

我認爲加載變量stereoParams是好的,但我看不出是什麼問題。

希望你有一些想法。

在此先感謝!

+0

你有什麼版本的MATLAB?另外,當你在命令提示符中鍵入'which rectifyStereoImages'時會發生什麼?你在屏幕上看到什麼? – rayryeng

+0

<! - 開頭段:JS隱藏:假 - > < - 語言:郎HTML - > dasdadasda <! - 結束片段 - > >這rectifyStereoImages 結果爲:/home/..../rectifyStereoImages.m。我創建的m文件。 現在我改名爲rectifyStereoPhotos.m 運行返回沒有問題,但警告和糾正後的輸出圖像是黑色的?你知道爲什麼它會導致黑色圖像? 以下是警告: – Hallohal392

+0

警告:未失真的圖像可能包含無效像素。這可能是由於校準不準確造成的。嘗試使用 校準更多圖像,以便校準圖案覆蓋大部分視野。>在相機參數> cameraParameters.getValidBounds at 1004 In cameraParameters> cameraParameters.computeUndistortBounds at 930 In stereoParameters> stereoParameters。在607 在stereoParameters computeOutputBounds>在508在stereoParameters> stereoParameters.rectifyStereoImagesImpl stereoParameters.computeRectificationParameters在260在在99在rectifyStereoPhotos rectifyStereoImages在8 – Hallohal392

回答

0

解決該問題:

  1. 自己的校準使用[I1,I2] = rectifyStereoImages(imW1,imW2,stereoParams, 'OutputView', '充滿')實施
  2. ;而不是[I1,I2] = rectifyStereoImages(imW1,imW2,stereoParams);

謝謝你的幫助和建議!

相關問題