簡體   English   中英

立體聲矯正-ROI具有不同大小

[英]Stereo rectify - ROI have different sizes

我已經完成了立體聲校准,並且得到了validPixROI1和2(綠色邊框)。 現在,我想使用StereoSGBM,但是校准(來自stereoRectify)的rois大小不一樣。 有人知道如何解決嗎?

實際上,我對此做了一些聯系:

Rect roiLeft(...);
Rect roiRight(...);

Mat cLeft(rLeft, roiLeft);
//Mat cRight(rRight, roiRight); // not same size...
Mat cRight(cRight, roiLeft);

stereoBM(cLeft,cRight, dst);

如果我使用該投資回報率來裁剪圖像,圖片的中點會一樣嗎?

在這里工作。

在此處輸入圖片說明

為什么不對(未裁剪的)校准圖像運行stereoBM,那么之后可以使用這些ROI掩蓋結果的無效位...

   stereoBM(rLeft,rRight, disp);
   //get intersection of both rois or use target image roi, if you know the target image
   cv::Rect visibleRoi = roiLeft & roiRight;
   cv::Mat cDisp(disp,visibleRoi);

現在,使用不同大小的輸入或不同中心等都沒有問題。

干杯

根據維基

在光軸和像平面相交處的點R。 該點稱為主要點或圖像中心。

因此,我認為中心不會相同。 請參考此站點 在其中一個示例中,對於640x480像素相機,主要點是302.71656,242.33386,這表明主要點和圖像中心不同。

在未裁剪的校正圖像上運行塊匹配器,然后使用。

cv::getValidDisparityROI(roi1, roi2, minDisparity, numberOfDisparities, SADWindowSize);

該調用返回一個cv :: Rect,它將成為左側圖像和視差圖中所有有效像素的邊界框。 有效像素僅是兩個攝像機都可以“看到”的像素(在遮擋的邊緣上為凹形)。

有了視差圖后,正確的圖像將變得無用。

請注意,從stereoRectify返回的ROI僅是從照相機內部函數重映射之后的有效像素。

暫無
暫無

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

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